svn commit: r199989 - in vendor/llvm/dist: . autoconf cmake/modules docs docs/CommandGuide docs/tutorial examples/Fibonacci include/llvm include/llvm-c include/llvm/ADT include/llvm/Analysis includ...

Roman Divacky rdivacky at FreeBSD.org
Tue Dec 1 11:07:07 UTC 2009


Author: rdivacky
Date: Tue Dec  1 11:07:05 2009
New Revision: 199989
URL: http://svn.freebsd.org/changeset/base/199989

Log:
  Update LLVM to r90226.

Added:
  vendor/llvm/dist/include/llvm/Config/Disassemblers.def.in
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.h
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
  vendor/llvm/dist/lib/CodeGen/TailDuplication.cpp
  vendor/llvm/dist/lib/Target/X86/Disassembler/
  vendor/llvm/dist/lib/Target/X86/Disassembler/CMakeLists.txt
  vendor/llvm/dist/lib/Target/X86/Disassembler/Makefile
  vendor/llvm/dist/lib/Target/X86/Disassembler/X86Disassembler.cpp
  vendor/llvm/dist/test/Analysis/BasicAA/gep-alias.ll
  vendor/llvm/dist/test/CodeGen/ARM/2009-11-30-LiveVariablesBug.ll
  vendor/llvm/dist/test/CodeGen/ARM/movt-movw-global.ll
  vendor/llvm/dist/test/CodeGen/ARM/remat-2.ll
  vendor/llvm/dist/test/CodeGen/ARM/select-imm.ll
  vendor/llvm/dist/test/CodeGen/MSP430/2009-11-20-NewNode.ll
  vendor/llvm/dist/test/CodeGen/PIC16/2009-11-20-NewNode.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/2009-11-25-ImpDefBug.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/rlwimi-keep-rsh.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/vec_buildvector_loadstore.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/ifcvt-neon.ll
  vendor/llvm/dist/test/CodeGen/X86/2009-11-25-ImpDefBug.ll
  vendor/llvm/dist/test/CodeGen/X86/scalar_widen_div.ll
  vendor/llvm/dist/test/CodeGen/X86/tailcall-fastisel.ll
  vendor/llvm/dist/test/FrontendC++/m64-ptr.cpp
  vendor/llvm/dist/test/FrontendC/cstring-align.c
  vendor/llvm/dist/test/FrontendObjC/2009-11-30-Objc-ID.m
  vendor/llvm/dist/test/TableGen/UnsetBitInit.td
  vendor/llvm/dist/test/Transforms/GVN/crash.ll
  vendor/llvm/dist/test/Transforms/GVN/nonescaping-malloc.ll
  vendor/llvm/dist/test/Transforms/GVN/pre-load.ll
  vendor/llvm/dist/test/Transforms/GlobalOpt/constantfold-initializers.ll
  vendor/llvm/dist/test/Transforms/IPConstantProp/dangling-block-address.ll
  vendor/llvm/dist/test/Transforms/IPConstantProp/user-with-multiple-uses.ll
  vendor/llvm/dist/test/Transforms/LoopRotate/indirectbr.ll
  vendor/llvm/dist/test/Transforms/LoopUnroll/shifted-tripcount.ll
  vendor/llvm/dist/utils/TableGen/DisassemblerEmitter.cpp
  vendor/llvm/dist/utils/TableGen/DisassemblerEmitter.h
Deleted:
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGBuild.h
  vendor/llvm/dist/test/Analysis/BasicAA/2008-12-09-GEP-IndicesAlias.ll
  vendor/llvm/dist/test/Assembler/msasm.ll
  vendor/llvm/dist/test/CodeGen/ARM/load-global.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-mov2.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-mov3.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-mov4.ll
  vendor/llvm/dist/test/CodeGen/X86/cmp1.ll
  vendor/llvm/dist/test/Feature/md_on_instruction2.ll
  vendor/llvm/dist/test/Feature/testswitch.ll
  vendor/llvm/dist/test/FrontendC++/2009-08-03-Varargs.cpp
  vendor/llvm/dist/test/FrontendC++/msasm.cpp
  vendor/llvm/dist/test/FrontendC/memcpy_chk.c
  vendor/llvm/dist/test/FrontendC/memset_chk.c
  vendor/llvm/dist/test/FrontendC/msasm.c
  vendor/llvm/dist/test/FrontendC/object_size.c
  vendor/llvm/dist/test/Transforms/CondProp/2006-08-14-SingleEntryPhiCrash.ll
  vendor/llvm/dist/test/Transforms/CondProp/2006-11-01-PhiNodeCrash.ll
  vendor/llvm/dist/test/Transforms/CondProp/2007-08-01-InvalidRead.ll
  vendor/llvm/dist/test/Transforms/CondProp/2009-01-25-SingleEntryPHI.ll
  vendor/llvm/dist/test/Transforms/CondProp/basictest-dbg.ll
  vendor/llvm/dist/test/Transforms/CondProp/basictest.ll
  vendor/llvm/dist/test/Transforms/CondProp/dg.exp
  vendor/llvm/dist/test/Transforms/CondProp/phisimplify.ll
  vendor/llvm/dist/test/Transforms/CondProp/phisimplify2.ll
  vendor/llvm/dist/test/Transforms/CondProp/phisimplify3.ll
  vendor/llvm/dist/test/Transforms/ConstProp/2009-09-19-ConstFold-i1-ConstExpr.ll
  vendor/llvm/dist/test/Transforms/GVN/lpre-basic.ll
  vendor/llvm/dist/test/Transforms/IndMemRem/
  vendor/llvm/dist/test/Transforms/InstCombine/cast-malloc.ll
  vendor/llvm/dist/test/Transforms/InstCombine/or2.ll
  vendor/llvm/dist/test/Transforms/InstCombine/phi-merge.ll
  vendor/llvm/dist/test/Transforms/InstCombine/store-merge.ll
  vendor/llvm/dist/test/Transforms/JumpThreading/2008-11-28-InfLoop.ll
  vendor/llvm/dist/test/Transforms/JumpThreading/2009-01-08-DeadLoopRepl.ll
  vendor/llvm/dist/test/Transforms/JumpThreading/2009-01-19-InfSwitchLoop.ll
  vendor/llvm/dist/test/Transforms/RaiseAllocations/2004-11-08-FreeUseCrash.ll
  vendor/llvm/dist/test/Transforms/RaiseAllocations/2007-10-17-InvokeFree.ll
  vendor/llvm/dist/test/Transforms/RaiseAllocations/FreeCastConstantExpr.ll
  vendor/llvm/dist/test/Transforms/RaiseAllocations/dg.exp
  vendor/llvm/dist/test/Transforms/SCCP/2008-03-10-sret.ll
  vendor/llvm/dist/test/Transforms/SCCP/basictest.ll
  vendor/llvm/dist/test/Transforms/SCCP/empty-struct.ll
  vendor/llvm/dist/test/Transforms/SCCP/ipsccp-conditional.ll
  vendor/llvm/dist/test/Transforms/SCCP/ipsccp-gvar.ll
Modified:
  vendor/llvm/dist/CMakeLists.txt
  vendor/llvm/dist/Makefile
  vendor/llvm/dist/Makefile.rules
  vendor/llvm/dist/autoconf/configure.ac
  vendor/llvm/dist/cmake/modules/AddLLVM.cmake
  vendor/llvm/dist/cmake/modules/LLVMConfig.cmake
  vendor/llvm/dist/cmake/modules/LLVMLibDeps.cmake
  vendor/llvm/dist/configure
  vendor/llvm/dist/docs/AliasAnalysis.html
  vendor/llvm/dist/docs/CMake.html
  vendor/llvm/dist/docs/CommandGuide/FileCheck.pod
  vendor/llvm/dist/docs/CommandGuide/llvmc.pod
  vendor/llvm/dist/docs/LangRef.html
  vendor/llvm/dist/docs/SourceLevelDebugging.html
  vendor/llvm/dist/docs/tutorial/index.html
  vendor/llvm/dist/examples/Fibonacci/fibonacci.cpp
  vendor/llvm/dist/include/llvm-c/Core.h
  vendor/llvm/dist/include/llvm/ADT/STLExtras.h
  vendor/llvm/dist/include/llvm/ADT/SmallString.h
  vendor/llvm/dist/include/llvm/ADT/StringRef.h
  vendor/llvm/dist/include/llvm/ADT/Trie.h
  vendor/llvm/dist/include/llvm/ADT/Triple.h
  vendor/llvm/dist/include/llvm/Analysis/AliasAnalysis.h
  vendor/llvm/dist/include/llvm/Analysis/CFGPrinter.h
  vendor/llvm/dist/include/llvm/Analysis/CaptureTracking.h
  vendor/llvm/dist/include/llvm/Analysis/DebugInfo.h
  vendor/llvm/dist/include/llvm/Analysis/InstructionSimplify.h
  vendor/llvm/dist/include/llvm/Analysis/LibCallAliasAnalysis.h
  vendor/llvm/dist/include/llvm/Analysis/LoopInfo.h
  vendor/llvm/dist/include/llvm/Analysis/MemoryDependenceAnalysis.h
  vendor/llvm/dist/include/llvm/Analysis/PostDominators.h
  vendor/llvm/dist/include/llvm/Analysis/ValueTracking.h
  vendor/llvm/dist/include/llvm/CodeGen/AsmPrinter.h
  vendor/llvm/dist/include/llvm/CodeGen/JITCodeEmitter.h
  vendor/llvm/dist/include/llvm/CodeGen/LatencyPriorityQueue.h
  vendor/llvm/dist/include/llvm/CodeGen/LiveVariables.h
  vendor/llvm/dist/include/llvm/CodeGen/MachineBasicBlock.h
  vendor/llvm/dist/include/llvm/CodeGen/MachineCodeEmitter.h
  vendor/llvm/dist/include/llvm/CodeGen/MachineModuleInfo.h
  vendor/llvm/dist/include/llvm/CodeGen/MachineOperand.h
  vendor/llvm/dist/include/llvm/CodeGen/Passes.h
  vendor/llvm/dist/include/llvm/CodeGen/ScheduleDAG.h
  vendor/llvm/dist/include/llvm/CodeGen/SelectionDAG.h
  vendor/llvm/dist/include/llvm/CodeGen/SelectionDAGISel.h
  vendor/llvm/dist/include/llvm/CodeGen/SelectionDAGNodes.h
  vendor/llvm/dist/include/llvm/Intrinsics.td
  vendor/llvm/dist/include/llvm/IntrinsicsX86.td
  vendor/llvm/dist/include/llvm/Metadata.h
  vendor/llvm/dist/include/llvm/Support/DOTGraphTraits.h
  vendor/llvm/dist/include/llvm/Support/GraphWriter.h
  vendor/llvm/dist/include/llvm/Support/NoFolder.h
  vendor/llvm/dist/include/llvm/Support/SourceMgr.h
  vendor/llvm/dist/include/llvm/System/Path.h
  vendor/llvm/dist/include/llvm/Target/TargetInstrInfo.h
  vendor/llvm/dist/include/llvm/Target/TargetJITInfo.h
  vendor/llvm/dist/include/llvm/Target/TargetRegisterInfo.h
  vendor/llvm/dist/include/llvm/Target/TargetSelect.h
  vendor/llvm/dist/include/llvm/Target/TargetSelectionDAG.td
  vendor/llvm/dist/include/llvm/Transforms/Utils/PromoteMemToReg.h
  vendor/llvm/dist/lib/Analysis/AliasAnalysis.cpp
  vendor/llvm/dist/lib/Analysis/AliasDebugger.cpp
  vendor/llvm/dist/lib/Analysis/AliasSetTracker.cpp
  vendor/llvm/dist/lib/Analysis/BasicAliasAnalysis.cpp
  vendor/llvm/dist/lib/Analysis/CaptureTracking.cpp
  vendor/llvm/dist/lib/Analysis/ConstantFolding.cpp
  vendor/llvm/dist/lib/Analysis/DebugInfo.cpp
  vendor/llvm/dist/lib/Analysis/DomPrinter.cpp
  vendor/llvm/dist/lib/Analysis/IPA/Andersens.cpp
  vendor/llvm/dist/lib/Analysis/IPA/GlobalsModRef.cpp
  vendor/llvm/dist/lib/Analysis/IVUsers.cpp
  vendor/llvm/dist/lib/Analysis/InstructionSimplify.cpp
  vendor/llvm/dist/lib/Analysis/LoopInfo.cpp
  vendor/llvm/dist/lib/Analysis/MemoryDependenceAnalysis.cpp
  vendor/llvm/dist/lib/Analysis/ScalarEvolution.cpp
  vendor/llvm/dist/lib/Analysis/ValueTracking.cpp
  vendor/llvm/dist/lib/AsmParser/LLParser.cpp
  vendor/llvm/dist/lib/CodeGen/AggressiveAntiDepBreaker.cpp
  vendor/llvm/dist/lib/CodeGen/AggressiveAntiDepBreaker.h
  vendor/llvm/dist/lib/CodeGen/AntiDepBreaker.h
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DIE.cpp
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DIE.h
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfDebug.h
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfException.cpp
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfWriter.cpp
  vendor/llvm/dist/lib/CodeGen/BranchFolding.cpp
  vendor/llvm/dist/lib/CodeGen/BranchFolding.h
  vendor/llvm/dist/lib/CodeGen/CMakeLists.txt
  vendor/llvm/dist/lib/CodeGen/CriticalAntiDepBreaker.cpp
  vendor/llvm/dist/lib/CodeGen/CriticalAntiDepBreaker.h
  vendor/llvm/dist/lib/CodeGen/DwarfEHPrepare.cpp
  vendor/llvm/dist/lib/CodeGen/IfConversion.cpp
  vendor/llvm/dist/lib/CodeGen/LLVMTargetMachine.cpp
  vendor/llvm/dist/lib/CodeGen/LatencyPriorityQueue.cpp
  vendor/llvm/dist/lib/CodeGen/LiveIntervalAnalysis.cpp
  vendor/llvm/dist/lib/CodeGen/LiveVariables.cpp
  vendor/llvm/dist/lib/CodeGen/MachineBasicBlock.cpp
  vendor/llvm/dist/lib/CodeGen/MachineFunction.cpp
  vendor/llvm/dist/lib/CodeGen/MachineInstr.cpp
  vendor/llvm/dist/lib/CodeGen/MachineLICM.cpp
  vendor/llvm/dist/lib/CodeGen/MachineModuleInfo.cpp
  vendor/llvm/dist/lib/CodeGen/MachineVerifier.cpp
  vendor/llvm/dist/lib/CodeGen/PHIElimination.cpp
  vendor/llvm/dist/lib/CodeGen/PHIElimination.h
  vendor/llvm/dist/lib/CodeGen/PostRASchedulerList.cpp
  vendor/llvm/dist/lib/CodeGen/ProcessImplicitDefs.cpp
  vendor/llvm/dist/lib/CodeGen/RegAllocLinearScan.cpp
  vendor/llvm/dist/lib/CodeGen/ScheduleDAG.cpp
  vendor/llvm/dist/lib/CodeGen/ScheduleDAGPrinter.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/CMakeLists.txt
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/FastISel.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeTypes.h
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/TargetLowering.cpp
  vendor/llvm/dist/lib/CodeGen/SimpleRegisterCoalescing.cpp
  vendor/llvm/dist/lib/CodeGen/Spiller.cpp
  vendor/llvm/dist/lib/CodeGen/Spiller.h
  vendor/llvm/dist/lib/CodeGen/VirtRegRewriter.cpp
  vendor/llvm/dist/lib/CompilerDriver/CompilationGraph.cpp
  vendor/llvm/dist/lib/ExecutionEngine/JIT/JITEmitter.cpp
  vendor/llvm/dist/lib/Support/CommandLine.cpp
  vendor/llvm/dist/lib/Support/SourceMgr.cpp
  vendor/llvm/dist/lib/Support/StringRef.cpp
  vendor/llvm/dist/lib/Support/Triple.cpp
  vendor/llvm/dist/lib/System/CMakeLists.txt
  vendor/llvm/dist/lib/System/Host.cpp
  vendor/llvm/dist/lib/System/Unix/Path.inc
  vendor/llvm/dist/lib/System/Win32/Path.inc
  vendor/llvm/dist/lib/Target/ARM/ARMBaseInstrInfo.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMBaseInstrInfo.h
  vendor/llvm/dist/lib/Target/ARM/ARMBaseRegisterInfo.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMBaseRegisterInfo.h
  vendor/llvm/dist/lib/Target/ARM/ARMCodeEmitter.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMConstantIslandPass.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMExpandPseudoInsts.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMISelDAGToDAG.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMISelLowering.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMInstrFormats.td
  vendor/llvm/dist/lib/Target/ARM/ARMInstrInfo.td
  vendor/llvm/dist/lib/Target/ARM/ARMInstrNEON.td
  vendor/llvm/dist/lib/Target/ARM/ARMInstrThumb.td
  vendor/llvm/dist/lib/Target/ARM/ARMInstrThumb2.td
  vendor/llvm/dist/lib/Target/ARM/ARMInstrVFP.td
  vendor/llvm/dist/lib/Target/ARM/ARMJITInfo.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMJITInfo.h
  vendor/llvm/dist/lib/Target/ARM/ARMScheduleV7.td
  vendor/llvm/dist/lib/Target/ARM/ARMSubtarget.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMSubtarget.h
  vendor/llvm/dist/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp
  vendor/llvm/dist/lib/Target/ARM/NEONMoveFix.cpp
  vendor/llvm/dist/lib/Target/ARM/Thumb2SizeReduction.cpp
  vendor/llvm/dist/lib/Target/Alpha/AlphaISelLowering.cpp
  vendor/llvm/dist/lib/Target/Alpha/AlphaJITInfo.cpp
  vendor/llvm/dist/lib/Target/Alpha/AlphaJITInfo.h
  vendor/llvm/dist/lib/Target/Blackfin/BlackfinISelLowering.cpp
  vendor/llvm/dist/lib/Target/Blackfin/BlackfinRegisterInfo.td
  vendor/llvm/dist/lib/Target/CellSPU/SPUISelLowering.cpp
  vendor/llvm/dist/lib/Target/CellSPU/SPUInstrInfo.td
  vendor/llvm/dist/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
  vendor/llvm/dist/lib/Target/MSP430/MSP430ISelLowering.cpp
  vendor/llvm/dist/lib/Target/MSP430/MSP430InstrInfo.td
  vendor/llvm/dist/lib/Target/MSP430/MSP430MCAsmInfo.cpp
  vendor/llvm/dist/lib/Target/Mips/MipsISelDAGToDAG.cpp
  vendor/llvm/dist/lib/Target/Mips/MipsISelLowering.cpp
  vendor/llvm/dist/lib/Target/Mips/MipsInstrInfo.cpp
  vendor/llvm/dist/lib/Target/Mips/MipsRegisterInfo.cpp
  vendor/llvm/dist/lib/Target/PIC16/PIC16DebugInfo.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCFrameInfo.h
  vendor/llvm/dist/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCISelLowering.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCInstrInfo.td
  vendor/llvm/dist/lib/Target/PowerPC/PPCJITInfo.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCJITInfo.h
  vendor/llvm/dist/lib/Target/PowerPC/PPCRegisterInfo.cpp
  vendor/llvm/dist/lib/Target/README.txt
  vendor/llvm/dist/lib/Target/Sparc/SparcISelLowering.cpp
  vendor/llvm/dist/lib/Target/TargetLoweringObjectFile.cpp
  vendor/llvm/dist/lib/Target/X86/AsmPrinter/X86MCInstLower.cpp
  vendor/llvm/dist/lib/Target/X86/AsmPrinter/X86MCInstLower.h
  vendor/llvm/dist/lib/Target/X86/Makefile
  vendor/llvm/dist/lib/Target/X86/X86CodeEmitter.cpp
  vendor/llvm/dist/lib/Target/X86/X86ISelDAGToDAG.cpp
  vendor/llvm/dist/lib/Target/X86/X86ISelLowering.cpp
  vendor/llvm/dist/lib/Target/X86/X86Instr64bit.td
  vendor/llvm/dist/lib/Target/X86/X86InstrInfo.cpp
  vendor/llvm/dist/lib/Target/X86/X86InstrInfo.td
  vendor/llvm/dist/lib/Target/X86/X86InstrSSE.td
  vendor/llvm/dist/lib/Target/X86/X86JITInfo.cpp
  vendor/llvm/dist/lib/Target/X86/X86JITInfo.h
  vendor/llvm/dist/lib/Target/X86/X86RegisterInfo.cpp
  vendor/llvm/dist/lib/Target/X86/X86Subtarget.cpp
  vendor/llvm/dist/lib/Target/X86/X86Subtarget.h
  vendor/llvm/dist/lib/Target/XCore/XCoreISelLowering.cpp
  vendor/llvm/dist/lib/Transforms/IPO/FunctionAttrs.cpp
  vendor/llvm/dist/lib/Transforms/IPO/GlobalOpt.cpp
  vendor/llvm/dist/lib/Transforms/IPO/IPConstantPropagation.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/GVN.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/InstructionCombining.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/JumpThreading.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/LICM.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/SCCP.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/ScalarReplAggregates.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/SimplifyCFGPass.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/SimplifyLibCalls.cpp
  vendor/llvm/dist/lib/Transforms/Utils/LoopSimplify.cpp
  vendor/llvm/dist/lib/Transforms/Utils/Mem2Reg.cpp
  vendor/llvm/dist/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
  vendor/llvm/dist/lib/VMCore/Core.cpp
  vendor/llvm/dist/lib/VMCore/Metadata.cpp
  vendor/llvm/dist/lib/VMCore/PassManager.cpp
  vendor/llvm/dist/lib/VMCore/Verifier.cpp
  vendor/llvm/dist/test/Analysis/BasicAA/modref.ll
  vendor/llvm/dist/test/Analysis/ScalarEvolution/scev-aa.ll
  vendor/llvm/dist/test/CodeGen/ARM/2009-11-07-SubRegAsmPrinting.ll
  vendor/llvm/dist/test/CodeGen/ARM/bic.ll
  vendor/llvm/dist/test/CodeGen/ARM/fabss.ll
  vendor/llvm/dist/test/CodeGen/ARM/fadds.ll
  vendor/llvm/dist/test/CodeGen/ARM/fdivs.ll
  vendor/llvm/dist/test/CodeGen/ARM/fmacs.ll
  vendor/llvm/dist/test/CodeGen/ARM/fmscs.ll
  vendor/llvm/dist/test/CodeGen/ARM/fmuls.ll
  vendor/llvm/dist/test/CodeGen/ARM/fnegs.ll
  vendor/llvm/dist/test/CodeGen/ARM/fpconsts.ll
  vendor/llvm/dist/test/CodeGen/ARM/fptoint.ll
  vendor/llvm/dist/test/CodeGen/ARM/fsubs.ll
  vendor/llvm/dist/test/CodeGen/ARM/mls.ll
  vendor/llvm/dist/test/CodeGen/ARM/remat.ll
  vendor/llvm/dist/test/CodeGen/Generic/2007-06-06-CriticalEdgeLandingPad.ll
  vendor/llvm/dist/test/CodeGen/Mips/2009-11-16-CstPoolLoad.ll
  vendor/llvm/dist/test/CodeGen/PIC16/2009-07-17-PR4566-pic16.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/Frames-alloca.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/Frames-large.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/Frames-small.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/bswap-load-store.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/ppc-prologue.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/cross-rc-coalescing-2.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/ldr-str-imm12.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/machine-licm.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-add3.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-and2.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-cmn.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-mla.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-mls.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-orn.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-orn2.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-orr2.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-ror.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-rsb.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-rsb2.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-select_xform.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-sub2.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-teq.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-tst.ll
  vendor/llvm/dist/test/CodeGen/X86/2008-08-05-SpillerBug.ll
  vendor/llvm/dist/test/CodeGen/X86/2009-03-13-PHIElimBug.ll
  vendor/llvm/dist/test/CodeGen/X86/2009-03-16-PHIElimInLPad.ll
  vendor/llvm/dist/test/CodeGen/X86/2009-09-19-SchedCustomLoweringBug.ll
  vendor/llvm/dist/test/CodeGen/X86/2009-10-08-MachineLICMBug.ll
  vendor/llvm/dist/test/CodeGen/X86/fp_constant_op.ll
  vendor/llvm/dist/test/CodeGen/X86/palignr-2.ll
  vendor/llvm/dist/test/CodeGen/X86/pic-load-remat.ll
  vendor/llvm/dist/test/CodeGen/X86/tailcall-stackalign.ll
  vendor/llvm/dist/test/CodeGen/X86/trunc-to-bool.ll
  vendor/llvm/dist/test/FrontendC++/2006-11-30-Pubnames.cpp
  vendor/llvm/dist/test/FrontendC/2009-02-17-BitField-dbg.c
  vendor/llvm/dist/test/FrontendC/pr4349.c
  vendor/llvm/dist/test/Transforms/DeadStoreElimination/crash.ll
  vendor/llvm/dist/test/Transforms/DeadStoreElimination/lifetime.ll
  vendor/llvm/dist/test/Transforms/GVN/rle-must-alias.ll
  vendor/llvm/dist/test/Transforms/GVN/rle-no-phi-translate.ll
  vendor/llvm/dist/test/Transforms/GVN/rle-phi-translate.ll
  vendor/llvm/dist/test/Transforms/InstCombine/cast.ll
  vendor/llvm/dist/test/Transforms/InstCombine/compare-signs.ll
  vendor/llvm/dist/test/Transforms/InstCombine/crash.ll
  vendor/llvm/dist/test/Transforms/InstCombine/getelementptr.ll
  vendor/llvm/dist/test/Transforms/InstCombine/intrinsics.ll
  vendor/llvm/dist/test/Transforms/InstCombine/or.ll
  vendor/llvm/dist/test/Transforms/InstCombine/shufflevec-constant.ll
  vendor/llvm/dist/test/Transforms/InstCombine/store.ll
  vendor/llvm/dist/test/Transforms/JumpThreading/crash.ll
  vendor/llvm/dist/test/Transforms/LICM/2008-07-22-LoadGlobalConstant.ll
  vendor/llvm/dist/test/Transforms/LoopSimplify/indirectbr.ll
  vendor/llvm/dist/test/Transforms/ScalarRepl/badarray.ll
  vendor/llvm/dist/tools/llvm-config/llvm-config.in.in
  vendor/llvm/dist/tools/llvmc/doc/LLVMC-Reference.rst
  vendor/llvm/dist/tools/llvmc/example/Hello/Hello.cpp
  vendor/llvm/dist/tools/llvmc/plugins/Base/Base.td.in
  vendor/llvm/dist/tools/lto/LTOCodeGenerator.cpp
  vendor/llvm/dist/tools/opt/GraphPrinters.cpp
  vendor/llvm/dist/unittests/ADT/StringRefTest.cpp
  vendor/llvm/dist/unittests/ADT/ValueMapTest.cpp
  vendor/llvm/dist/unittests/ExecutionEngine/JIT/JITTest.cpp
  vendor/llvm/dist/utils/FileCheck/FileCheck.cpp
  vendor/llvm/dist/utils/TableGen/CMakeLists.txt
  vendor/llvm/dist/utils/TableGen/DAGISelEmitter.cpp
  vendor/llvm/dist/utils/TableGen/LLVMCConfigurationEmitter.cpp
  vendor/llvm/dist/utils/TableGen/OptParserEmitter.cpp
  vendor/llvm/dist/utils/TableGen/Record.cpp
  vendor/llvm/dist/utils/TableGen/Record.h
  vendor/llvm/dist/utils/TableGen/TGParser.cpp
  vendor/llvm/dist/utils/TableGen/TableGen.cpp
  vendor/llvm/dist/utils/buildit/build_llvm

Modified: vendor/llvm/dist/CMakeLists.txt
==============================================================================
--- vendor/llvm/dist/CMakeLists.txt	Tue Dec  1 07:28:56 2009	(r199988)
+++ vendor/llvm/dist/CMakeLists.txt	Tue Dec  1 11:07:05 2009	(r199989)
@@ -191,6 +191,10 @@ set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LL
 add_llvm_definitions( -D__STDC_LIMIT_MACROS )
 add_llvm_definitions( -D__STDC_CONSTANT_MACROS )
 
+option(LLVM_ENABLE_WARNINGS "Enable compiler warnings." ON)
+option(LLVM_ENABLE_PEDANTIC "Compile with pedantic enabled." ON)
+option(LLVM_ENABLE_WERROR "Fail and stop if a warning is triggered." OFF)
+
 if( CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT WIN32 )
   # TODO: support other platforms and toolchains.
   option(LLVM_BUILD_32_BITS "Build 32 bits executables and libraries." OFF)
@@ -226,6 +230,27 @@ if( MSVC )
     add_llvm_definitions("/${LLVM_USE_CRT}")
     message(STATUS "Using VC++ CRT: ${LLVM_USE_CRT}")
   endif (NOT ${LLVM_USE_CRT} STREQUAL "")
+
+  # Enable warnings
+  if (LLVM_ENABLE_WARNINGS)
+    add_llvm_definitions( /W4 /Wall )
+    if (LLVM_ENABLE_PEDANTIC)
+      # No MSVC equivalent available
+    endif (LLVM_ENABLE_PEDANTIC)
+  endif (LLVM_ENABLE_WARNINGS)
+  if (LLVM_ENABLE_WERROR)
+    add_llvm_definitions( /WX )
+  endif (LLVM_ENABLE_WERROR)
+elseif( CMAKE_COMPILER_IS_GNUCXX )
+  if (LLVM_ENABLE_WARNINGS)
+    add_llvm_definitions( -Wall -W -Wno-unused-parameter -Wwrite-strings )
+    if (LLVM_ENABLE_PEDANTIC)
+      add_llvm_definitions( -pedantic -Wno-long-long )
+    endif (LLVM_ENABLE_PEDANTIC)
+  endif (LLVM_ENABLE_WARNINGS)
+  if (LLVM_ENABLE_WERROR)
+    add_llvm_definitions( -Werror )
+  endif (LLVM_ENABLE_WERROR)
 endif( MSVC )
 
 include_directories( ${LLVM_BINARY_DIR}/include ${LLVM_MAIN_INCLUDE_DIR})
@@ -280,6 +305,7 @@ add_subdirectory(utils/not)
 
 set(LLVM_ENUM_ASM_PRINTERS "")
 set(LLVM_ENUM_ASM_PARSERS "")
+set(LLVM_ENUM_DISASSEMBLERS "")
 foreach(t ${LLVM_TARGETS_TO_BUILD})
   message(STATUS "Targeting ${t}")
   add_subdirectory(lib/Target/${t})
@@ -294,6 +320,11 @@ foreach(t ${LLVM_TARGETS_TO_BUILD})
     set(LLVM_ENUM_ASM_PARSERS 
       "${LLVM_ENUM_ASM_PARSERS}LLVM_ASM_PARSER(${t})\n")
   endif( EXISTS ${LLVM_MAIN_SRC_DIR}/lib/Target/${t}/AsmParser/CMakeLists.txt )
+  if( EXISTS ${LLVM_MAIN_SRC_DIR}/lib/Target/${t}/Disassembler/CMakeLists.txt )
+    add_subdirectory(lib/Target/${t}/Disassembler)
+    set(LLVM_ENUM_DISASSEMBLERS
+      "${LLVM_ENUM_DISASSEMBLERS}LLVM_DISASSEMBLER(${t})\n")
+  endif( EXISTS ${LLVM_MAIN_SRC_DIR}/lib/Target/${t}/Disassembler/CMakeLists.txt )
   set(CURRENT_LLVM_TARGET)
 endforeach(t)
 
@@ -309,6 +340,12 @@ configure_file(
   ${LLVM_BINARY_DIR}/include/llvm/Config/AsmParsers.def
   )
 
+# Produce llvm/Config/Disassemblers.def
+configure_file(
+  ${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/Disassemblers.def.in
+  ${LLVM_BINARY_DIR}/include/llvm/Config/Disassemblers.def
+  )
+
 add_subdirectory(lib/ExecutionEngine)
 add_subdirectory(lib/ExecutionEngine/Interpreter)
 add_subdirectory(lib/ExecutionEngine/JIT)
@@ -319,14 +356,10 @@ add_subdirectory(lib/Archive)
 add_subdirectory(projects)
 
 option(LLVM_BUILD_TOOLS "Build LLVM tool programs." ON)
-if(LLVM_BUILD_TOOLS)
-  add_subdirectory(tools)
-endif()
+add_subdirectory(tools)
 
 option(LLVM_BUILD_EXAMPLES "Build LLVM example programs." OFF)
-if(LLVM_BUILD_EXAMPLES)
-  add_subdirectory(examples)
-endif ()
+add_subdirectory(examples)
 
 install(DIRECTORY include/
   DESTINATION include

Modified: vendor/llvm/dist/Makefile
==============================================================================
--- vendor/llvm/dist/Makefile	Tue Dec  1 07:28:56 2009	(r199988)
+++ vendor/llvm/dist/Makefile	Tue Dec  1 11:07:05 2009	(r199989)
@@ -155,9 +155,11 @@ install-libs: install
 FilesToConfig := \
   include/llvm/Config/config.h \
   include/llvm/Config/Targets.def \
-	include/llvm/Config/AsmPrinters.def \
+  include/llvm/Config/AsmPrinters.def \
+  include/llvm/Config/AsmParsers.def \
+  include/llvm/Config/Disassemblers.def \
   include/llvm/System/DataTypes.h \
-	tools/llvmc/plugins/Base/Base.td
+  tools/llvmc/plugins/Base/Base.td
 FilesToConfigPATH  := $(addprefix $(LLVM_OBJ_ROOT)/,$(FilesToConfig))
 
 all-local:: $(FilesToConfigPATH)

Modified: vendor/llvm/dist/Makefile.rules
==============================================================================
--- vendor/llvm/dist/Makefile.rules	Tue Dec  1 07:28:56 2009	(r199988)
+++ vendor/llvm/dist/Makefile.rules	Tue Dec  1 11:07:05 2009	(r199989)
@@ -1565,6 +1565,11 @@ $(ObjDir)/%GenDAGISel.inc.tmp : %.td $(O
 	$(Echo) "Building $(<F) DAG instruction selector implementation with tblgen"
 	$(Verb) $(TableGen) -gen-dag-isel -o $(call SYSPATH, $@) $<
 
+$(TARGET:%=$(ObjDir)/%GenDisassemblerTables.inc.tmp): \
+$(ObjDir)/%GenDisassemblerTables.inc.tmp : %.td $(ObjDir)/.dir
+	$(Echo) "Building $(<F) disassembly tables with tblgen"
+	$(Verb) $(TableGen) -gen-disassembler -o $(call SYSPATH, $@) $<
+
 $(TARGET:%=$(ObjDir)/%GenFastISel.inc.tmp): \
 $(ObjDir)/%GenFastISel.inc.tmp : %.td $(ObjDir)/.dir
 	$(Echo) "Building $(<F) \"fast\" instruction selector implementation with tblgen"

Modified: vendor/llvm/dist/autoconf/configure.ac
==============================================================================
--- vendor/llvm/dist/autoconf/configure.ac	Tue Dec  1 07:28:56 2009	(r199988)
+++ vendor/llvm/dist/autoconf/configure.ac	Tue Dec  1 11:07:05 2009	(r199989)
@@ -533,11 +533,12 @@ for a_target in $TARGETS_TO_BUILD; do
   fi
 done
 
-# Build the LLVM_TARGET and LLVM_ASM_PRINTER macro uses for
-# Targets.def, AsmPrinters.def, and AsmParsers.def.
+# Build the LLVM_TARGET and LLVM_... macros for Targets.def and the individual
+# target feature def files.
 LLVM_ENUM_TARGETS=""
 LLVM_ENUM_ASM_PRINTERS=""
 LLVM_ENUM_ASM_PARSERS=""
+LLVM_ENUM_DISASSEMBLERS=""
 for target_to_build in $TARGETS_TO_BUILD; do
   LLVM_ENUM_TARGETS="LLVM_TARGET($target_to_build) $LLVM_ENUM_TARGETS"
   if test -f ${srcdir}/lib/Target/${target_to_build}/AsmPrinter/Makefile ; then
@@ -546,10 +547,14 @@ for target_to_build in $TARGETS_TO_BUILD
   if test -f ${srcdir}/lib/Target/${target_to_build}/AsmParser/Makefile ; then
     LLVM_ENUM_ASM_PARSERS="LLVM_ASM_PARSER($target_to_build) $LLVM_ENUM_ASM_PARSERS";
   fi
+  if test -f ${srcdir}/lib/Target/${target_to_build}/Disassembler/Makefile ; then
+    LLVM_ENUM_DISASSEMBLERS="LLVM_DISASSEMBLER($target_to_build) $LLVM_ENUM_DISASSEMBLERS";
+  fi
 done
 AC_SUBST(LLVM_ENUM_TARGETS)
 AC_SUBST(LLVM_ENUM_ASM_PRINTERS)
 AC_SUBST(LLVM_ENUM_ASM_PARSERS)
+AC_SUBST(LLVM_ENUM_DISASSEMBLERS)
 
 dnl Prevent the CBackend from using printf("%a") for floating point so older
 dnl C compilers that cannot deal with the 0x0p+0 hex floating point format
@@ -1407,6 +1412,7 @@ AC_CONFIG_HEADERS([include/llvm/Config/c
 AC_CONFIG_FILES([include/llvm/Config/Targets.def])
 AC_CONFIG_FILES([include/llvm/Config/AsmPrinters.def])
 AC_CONFIG_FILES([include/llvm/Config/AsmParsers.def])
+AC_CONFIG_FILES([include/llvm/Config/Disassemblers.def])
 AC_CONFIG_HEADERS([include/llvm/System/DataTypes.h])
 
 dnl Configure the makefile's configuration data

Modified: vendor/llvm/dist/cmake/modules/AddLLVM.cmake
==============================================================================
--- vendor/llvm/dist/cmake/modules/AddLLVM.cmake	Tue Dec  1 07:28:56 2009	(r199988)
+++ vendor/llvm/dist/cmake/modules/AddLLVM.cmake	Tue Dec  1 11:07:05 2009	(r199989)
@@ -46,7 +46,12 @@ endmacro(add_llvm_loadable_module name)
 
 macro(add_llvm_executable name)
   llvm_process_sources( ALL_FILES ${ARGN} )
-  add_executable(${name} ${ALL_FILES})
+  if( EXCLUDE_FROM_ALL )
+    add_executable(${name} EXCLUDE_FROM_ALL ${ALL_FILES})
+  else()
+    add_executable(${name} ${ALL_FILES})
+  endif()
+  set(EXCLUDE_FROM_ALL OFF)
   if( LLVM_USED_LIBS )
     foreach(lib ${LLVM_USED_LIBS})
       target_link_libraries( ${name} ${lib} )
@@ -67,17 +72,25 @@ endmacro(add_llvm_executable name)
 
 macro(add_llvm_tool name)
   set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LLVM_TOOLS_BINARY_DIR})
+  if( NOT LLVM_BUILD_TOOLS )
+    set(EXCLUDE_FROM_ALL ON)
+  endif()
   add_llvm_executable(${name} ${ARGN})
-  install(TARGETS ${name}
-    RUNTIME DESTINATION bin)
+  if( LLVM_BUILD_TOOLS )
+    install(TARGETS ${name} RUNTIME DESTINATION bin)
+  endif()
 endmacro(add_llvm_tool name)
 
 
 macro(add_llvm_example name)
 #  set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LLVM_EXAMPLES_BINARY_DIR})
+  if( NOT LLVM_BUILD_EXAMPLES )
+    set(EXCLUDE_FROM_ALL ON)
+  endif()
   add_llvm_executable(${name} ${ARGN})
-  install(TARGETS ${name}
-    RUNTIME DESTINATION examples)
+  if( LLVM_BUILD_EXAMPLES )
+    install(TARGETS ${name} RUNTIME DESTINATION examples)
+  endif()
 endmacro(add_llvm_example name)
 
 

Modified: vendor/llvm/dist/cmake/modules/LLVMConfig.cmake
==============================================================================
--- vendor/llvm/dist/cmake/modules/LLVMConfig.cmake	Tue Dec  1 07:28:56 2009	(r199988)
+++ vendor/llvm/dist/cmake/modules/LLVMConfig.cmake	Tue Dec  1 11:07:05 2009	(r199989)
@@ -5,7 +5,7 @@ function(get_system_libs return_var)
       set(system_libs ${system_libs} imagehlp psapi)
     elseif( CMAKE_HOST_UNIX )
       if( HAVE_LIBDL )
-	set(system_libs ${system_libs} dl)
+	set(system_libs ${system_libs} ${CMAKE_DL_LIBS})
       endif()
       if( LLVM_ENABLE_THREADS AND HAVE_LIBPTHREAD )
 	set(system_libs ${system_libs} pthread)
@@ -32,7 +32,7 @@ endfunction(explicit_llvm_config)
 function(explicit_map_components_to_libraries out_libs)
   set( link_components ${ARGN} )
   foreach(c ${link_components})
-    # add codegen, asmprinter, asmparser
+    # add codegen, asmprinter, asmparser, disassembler
     list(FIND LLVM_TARGETS_TO_BUILD ${c} idx)
     if( NOT idx LESS 0 )
       list(FIND llvm_libs "LLVM${c}CodeGen" idx)
@@ -58,6 +58,10 @@ function(explicit_map_components_to_libr
       if( NOT asmidx LESS 0 )
         list(APPEND expanded_components "LLVM${c}Info")
       endif()
+      list(FIND llvm_libs "LLVM${c}Disassembler" asmidx)
+      if( NOT asmidx LESS 0 )
+        list(APPEND expanded_components "LLVM${c}Disassembler")
+      endif()
     elseif( c STREQUAL "native" )
       list(APPEND expanded_components "LLVM${LLVM_NATIVE_ARCH}CodeGen")
     elseif( c STREQUAL "nativecodegen" )

Modified: vendor/llvm/dist/cmake/modules/LLVMLibDeps.cmake
==============================================================================
--- vendor/llvm/dist/cmake/modules/LLVMLibDeps.cmake	Tue Dec  1 07:28:56 2009	(r199988)
+++ vendor/llvm/dist/cmake/modules/LLVMLibDeps.cmake	Tue Dec  1 11:07:05 2009	(r199989)
@@ -58,6 +58,7 @@ set(MSVC_LIB_DEPS_LLVMTransformUtils LLV
 set(MSVC_LIB_DEPS_LLVMX86AsmParser LLVMMC LLVMX86Info)
 set(MSVC_LIB_DEPS_LLVMX86AsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMTarget LLVMX86CodeGen LLVMX86Info)
 set(MSVC_LIB_DEPS_LLVMX86CodeGen LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget LLVMX86Info)
+set(MSVC_LIB_DEPS_LLVMX86Disassembler LLVMX86Info)
 set(MSVC_LIB_DEPS_LLVMX86Info LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMXCore LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget LLVMXCoreInfo)
 set(MSVC_LIB_DEPS_LLVMXCoreAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMTarget LLVMXCoreInfo)

Modified: vendor/llvm/dist/configure
==============================================================================
--- vendor/llvm/dist/configure	Tue Dec  1 07:28:56 2009	(r199988)
+++ vendor/llvm/dist/configure	Tue Dec  1 11:07:05 2009	(r199989)
@@ -847,6 +847,7 @@ TARGETS_TO_BUILD
 LLVM_ENUM_TARGETS
 LLVM_ENUM_ASM_PRINTERS
 LLVM_ENUM_ASM_PARSERS
+LLVM_ENUM_DISASSEMBLERS
 ENABLE_CBE_PRINTF_A
 OPTIMIZE_OPTION
 EXTRA_OPTIONS
@@ -5108,11 +5109,12 @@ _ACEOF
   fi
 done
 
-# Build the LLVM_TARGET and LLVM_ASM_PRINTER macro uses for
-# Targets.def, AsmPrinters.def, and AsmParsers.def.
+# Build the LLVM_TARGET and LLVM_... macros for Targets.def and the individual
+# target feature def files.
 LLVM_ENUM_TARGETS=""
 LLVM_ENUM_ASM_PRINTERS=""
 LLVM_ENUM_ASM_PARSERS=""
+LLVM_ENUM_DISASSEMBLERS=""
 for target_to_build in $TARGETS_TO_BUILD; do
   LLVM_ENUM_TARGETS="LLVM_TARGET($target_to_build) $LLVM_ENUM_TARGETS"
   if test -f ${srcdir}/lib/Target/${target_to_build}/AsmPrinter/Makefile ; then
@@ -5121,11 +5123,15 @@ for target_to_build in $TARGETS_TO_BUILD
   if test -f ${srcdir}/lib/Target/${target_to_build}/AsmParser/Makefile ; then
     LLVM_ENUM_ASM_PARSERS="LLVM_ASM_PARSER($target_to_build) $LLVM_ENUM_ASM_PARSERS";
   fi
+  if test -f ${srcdir}/lib/Target/${target_to_build}/Disassembler/Makefile ; then
+    LLVM_ENUM_DISASSEMBLERS="LLVM_DISASSEMBLER($target_to_build) $LLVM_ENUM_DISASSEMBLERS";
+  fi
 done
 
 
 
 
+
 # Check whether --enable-cbe-printf-a was given.
 if test "${enable_cbe_printf_a+set}" = set; then
   enableval=$enable_cbe_printf_a;
@@ -11114,7 +11120,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 11117 "configure"
+#line 11123 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13258,7 +13264,7 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 13261 "configure"' > conftest.$ac_ext
+  echo '#line 13267 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -14976,11 +14982,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14979: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14985: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:14983: \$? = $ac_status" >&5
+   echo "$as_me:14989: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -15244,11 +15250,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15247: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:15253: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:15251: \$? = $ac_status" >&5
+   echo "$as_me:15257: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -15348,11 +15354,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15351: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:15357: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:15355: \$? = $ac_status" >&5
+   echo "$as_me:15361: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -17800,7 +17806,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 17803 "configure"
+#line 17809 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -17900,7 +17906,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 17903 "configure"
+#line 17909 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -20268,11 +20274,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:20271: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:20277: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:20275: \$? = $ac_status" >&5
+   echo "$as_me:20281: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -20372,11 +20378,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:20375: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:20381: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:20379: \$? = $ac_status" >&5
+   echo "$as_me:20385: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -21942,11 +21948,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:21945: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:21951: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:21949: \$? = $ac_status" >&5
+   echo "$as_me:21955: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -22046,11 +22052,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:22049: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:22055: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:22053: \$? = $ac_status" >&5
+   echo "$as_me:22059: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -24281,11 +24287,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:24284: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:24290: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:24288: \$? = $ac_status" >&5
+   echo "$as_me:24294: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -24549,11 +24555,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:24552: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:24558: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:24556: \$? = $ac_status" >&5
+   echo "$as_me:24562: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -24653,11 +24659,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:24656: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:24662: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:24660: \$? = $ac_status" >&5
+   echo "$as_me:24666: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -35375,6 +35381,8 @@ ac_config_files="$ac_config_files includ
 
 ac_config_files="$ac_config_files include/llvm/Config/AsmParsers.def"
 
+ac_config_files="$ac_config_files include/llvm/Config/Disassemblers.def"
+
 ac_config_headers="$ac_config_headers include/llvm/System/DataTypes.h"
 
 
@@ -36002,6 +36010,7 @@ do
     "include/llvm/Config/Targets.def") CONFIG_FILES="$CONFIG_FILES include/llvm/Config/Targets.def" ;;
     "include/llvm/Config/AsmPrinters.def") CONFIG_FILES="$CONFIG_FILES include/llvm/Config/AsmPrinters.def" ;;
     "include/llvm/Config/AsmParsers.def") CONFIG_FILES="$CONFIG_FILES include/llvm/Config/AsmParsers.def" ;;
+    "include/llvm/Config/Disassemblers.def") CONFIG_FILES="$CONFIG_FILES include/llvm/Config/Disassemblers.def" ;;
     "include/llvm/System/DataTypes.h") CONFIG_HEADERS="$CONFIG_HEADERS include/llvm/System/DataTypes.h" ;;
     "Makefile.config") CONFIG_FILES="$CONFIG_FILES Makefile.config" ;;
     "llvm.spec") CONFIG_FILES="$CONFIG_FILES llvm.spec" ;;
@@ -36175,12 +36184,12 @@ TARGETS_TO_BUILD!$TARGETS_TO_BUILD$ac_de
 LLVM_ENUM_TARGETS!$LLVM_ENUM_TARGETS$ac_delim
 LLVM_ENUM_ASM_PRINTERS!$LLVM_ENUM_ASM_PRINTERS$ac_delim
 LLVM_ENUM_ASM_PARSERS!$LLVM_ENUM_ASM_PARSERS$ac_delim
+LLVM_ENUM_DISASSEMBLERS!$LLVM_ENUM_DISASSEMBLERS$ac_delim
 ENABLE_CBE_PRINTF_A!$ENABLE_CBE_PRINTF_A$ac_delim
 OPTIMIZE_OPTION!$OPTIMIZE_OPTION$ac_delim
 EXTRA_OPTIONS!$EXTRA_OPTIONS$ac_delim
 BINUTILS_INCDIR!$BINUTILS_INCDIR$ac_delim
 ENABLE_LLVMC_DYNAMIC!$ENABLE_LLVMC_DYNAMIC$ac_delim
-ENABLE_LLVMC_DYNAMIC_PLUGINS!$ENABLE_LLVMC_DYNAMIC_PLUGINS$ac_delim
 _ACEOF
 
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -36222,6 +36231,7 @@ _ACEOF
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
+ENABLE_LLVMC_DYNAMIC_PLUGINS!$ENABLE_LLVMC_DYNAMIC_PLUGINS$ac_delim
 CXX!$CXX$ac_delim
 CXXFLAGS!$CXXFLAGS$ac_delim
 ac_ct_CXX!$ac_ct_CXX$ac_delim
@@ -36319,7 +36329,7 @@ LIBOBJS!$LIBOBJS$ac_delim
 LTLIBOBJS!$LTLIBOBJS$ac_delim
 _ACEOF
 
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 95; then
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 96; then
     break
   elif $ac_last_try; then
     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
@@ -36338,7 +36348,7 @@ fi
 
 cat >>$CONFIG_STATUS <<_ACEOF
 cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
 _ACEOF
 sed '
 s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
@@ -36351,8 +36361,6 @@ N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!
 ' >>$CONFIG_STATUS <conf$$subs.sed
 rm -f conf$$subs.sed
 cat >>$CONFIG_STATUS <<_ACEOF
-:end
-s/|#_!!_#|//g
 CEOF$ac_eof
 _ACEOF
 
@@ -36600,7 +36608,7 @@ s&@abs_builddir@&$ac_abs_builddir&;t t
 s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
-" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" | sed 's/|#_!!_#|//g' >$tmp/out
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
   { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&

Modified: vendor/llvm/dist/docs/AliasAnalysis.html
==============================================================================
--- vendor/llvm/dist/docs/AliasAnalysis.html	Tue Dec  1 07:28:56 2009	(r199988)
+++ vendor/llvm/dist/docs/AliasAnalysis.html	Tue Dec  1 11:07:05 2009	(r199989)
@@ -225,12 +225,7 @@ method for testing dependencies between 
 call sites (CS1 &amp; CS2), returns NoModRef if the two calls refer to disjoint
 memory locations, Ref if CS1 reads memory written by CS2, Mod if CS1 writes to
 memory read or written by CS2, or ModRef if CS1 might read or write memory
-accessed by CS2.  Note that this relation is not commutative.  Clients that use
-this method should be predicated on the <tt>hasNoModRefInfoForCalls()</tt>
-method, which indicates whether or not an analysis can provide mod/ref
-information for function call pairs (most can not).  If this predicate is false,
-the client shouldn't waste analysis time querying the <tt>getModRefInfo</tt>
-method many times.</p>
+accessed by CS2.  Note that this relation is not commutative.</p>
 
 </div>
 
@@ -251,21 +246,6 @@ analysis implementations and can be put 
 
 <!-- _______________________________________________________________________ -->
 <div class="doc_subsubsection">
-  The <tt>getMustAliases</tt> method
-</div>
-
-<div class="doc_text">
-
-<p>The <tt>getMustAliases</tt> method returns all values that are known to
-always must alias a pointer.  This information can be provided in some cases for
-important objects like the null pointer and global values.  Knowing that a
-pointer always points to a particular function allows indirect calls to be
-turned into direct calls, for example.</p>
-
-</div>
-
-<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
   The <tt>pointsToConstantMemory</tt> method
 </div>
 
@@ -969,7 +949,7 @@ analysis directly.</p>
 
   <a href="mailto:sabre at nondot.org">Chris Lattner</a><br>
   <a href="http://llvm.org">LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2009-04-25 23:11:37 +0200 (Sat, 25 Apr 2009) $
+  Last modified: $Date: 2009-11-22 17:01:44 +0100 (Sun, 22 Nov 2009) $
 </address>
 
 </body>

Modified: vendor/llvm/dist/docs/CMake.html
==============================================================================
--- vendor/llvm/dist/docs/CMake.html	Tue Dec  1 07:28:56 2009	(r199988)
+++ vendor/llvm/dist/docs/CMake.html	Tue Dec  1 11:07:05 2009	(r199989)
@@ -251,10 +251,16 @@
     <i>-DLLVM_TARGETS_TO_BUILD="X86;PowerPC;Alpha"</i>.</dd>
 
   <dt><b>LLVM_BUILD_TOOLS</b>:BOOL</dt>
-  <dd>Build LLVM tools. Defaults to ON.</dd>
+  <dd>Build LLVM tools. Defaults to ON. Targets for building each tool
+    are generated in any case. You can build an tool separately by
+    invoking its target. For example, you can build <i>llvm-as</i>
+    with a makefile-based system executing <i>make llvm-as</i> on the
+    root of your build directory.</dd>
 
   <dt><b>LLVM_BUILD_EXAMPLES</b>:BOOL</dt>
-  <dd>Build LLVM examples. Defaults to ON.</dd>
+  <dd>Build LLVM examples. Defaults to OFF. Targets for building each
+    example are generated in any case. See documentation
+    for <i>LLVM_BUILD_TOOLS</i> above for more details.</dd>
 
   <dt><b>LLVM_ENABLE_THREADS</b>:BOOL</dt>
   <dd>Build with threads support, if available. Defaults to ON.</dd>
@@ -268,10 +274,21 @@
     compiler supports this flag. Some systems, like Windows, do not
     need this flag. Defaults to ON.</dd>
 
+  <dt><b>LLVM_ENABLE_WARNINGS</b>:BOOL</dt>
+  <dd>Enable all compiler warnings. Defaults to ON.</dd>
+
+  <dt><b>LLVM_ENABLE_PEDANTIC</b>:BOOL</dt>
+  <dd>Enable pedantic mode. This disable compiler specific extensions, is
+    possible. Defaults to ON.</dd>
+
+  <dt><b>LLVM_ENABLE_WERROR</b>:BOOL</dt>
+  <dd>Stop and fail build, if a compiler warning is
+    triggered. Defaults to OFF.</dd>
+
   <dt><b>LLVM_BUILD_32_BITS</b>:BOOL</dt>
   <dd>Build 32-bits executables and libraries on 64-bits systems. This
-  option is available only on some 64-bits unix systems. Defaults to
-  OFF.</dd>
+    option is available only on some 64-bits unix systems. Defaults to
+    OFF.</dd>
 
   <dt><b>LLVM_TARGET_ARCH</b>:STRING</dt>
   <dd>LLVM target to use for native code generation. This is required

Modified: vendor/llvm/dist/docs/CommandGuide/FileCheck.pod
==============================================================================
--- vendor/llvm/dist/docs/CommandGuide/FileCheck.pod	Tue Dec  1 07:28:56 2009	(r199988)
+++ vendor/llvm/dist/docs/CommandGuide/FileCheck.pod	Tue Dec  1 11:07:05 2009	(r199989)
@@ -224,7 +224,7 @@ The first check line matches a regex (<t
 the variables "REGISTER".  The second line verifies that whatever is in REGISTER
 occurs later in the file after an "andw".  FileCheck variable references are
 always contained in <tt>[[ ]]</tt> pairs, are named, and their names can be
-formed with the regex "<tt>[a-zA-Z][a-zA-Z0-9]*</tt>".  If a colon follows the
+formed with the regex "<tt>[a-zA-Z_][a-zA-Z0-9_]*</tt>".  If a colon follows the
 name, then it is a definition of the variable, if not, it is a use.
 
 FileCheck variables can be defined multiple times, and uses always get the

Modified: vendor/llvm/dist/docs/CommandGuide/llvmc.pod
==============================================================================
--- vendor/llvm/dist/docs/CommandGuide/llvmc.pod	Tue Dec  1 07:28:56 2009	(r199988)
+++ vendor/llvm/dist/docs/CommandGuide/llvmc.pod	Tue Dec  1 11:07:05 2009	(r199989)
@@ -126,24 +126,31 @@ use the B<-Wo,> option.
 
 =item B<-I> I<directory>
 
-Add a directory to the header file search path.  This option can be
-repeated.
+Add a directory to the header file search path.
 
 =item B<-L> I<directory>
 
-Add I<directory> to the library search path.  This option can be
-repeated.
+Add I<directory> to the library search path.
+
+=item B<-F> I<directory>
+
+Add I<directory> to the framework search path.
 
 =item B<-l>I<name>
 
 Link in the library libI<name>.[bc | a | so].  This library should
 be a bitcode library.
 
+=item B<-framework> I<name>
+
+Link in the library libI<name>.[bc | a | so].  This library should
+be a bitcode library.
+
 =item B<-emit-llvm>
 
-Make the output be LLVM bitcode (with B<-c>) or assembly (with B<-S>) instead
-of native object (or assembly).  If B<-emit-llvm> is given without either B<-c>
-or B<-S> it has no effect.
+Output LLVM bitcode (with B<-c>) or assembly (with B<-S>) instead of native
+object (or assembly).  If B<-emit-llvm> is given without either B<-c> or B<-S>
+it has no effect.
 
 =item B<-Wa>
 
@@ -157,6 +164,10 @@ Pass options to linker.
 
 Pass options to opt.
 
+=item B<-Wllc>
+
+Pass options to llc (code generator).
+
 =back
 
 =head1 EXIT STATUS

Modified: vendor/llvm/dist/docs/LangRef.html
==============================================================================
--- vendor/llvm/dist/docs/LangRef.html	Tue Dec  1 07:28:56 2009	(r199988)
+++ vendor/llvm/dist/docs/LangRef.html	Tue Dec  1 11:07:05 2009	(r199989)
@@ -291,6 +291,8 @@
             '<tt>llvm.trap</tt>' Intrinsic</a></li>
           <li><a href="#int_stackprotector">
             '<tt>llvm.stackprotector</tt>' Intrinsic</a></li>
+	  <li><a href="#int_objectsize">
+            '<tt>llvm.objectsize</tt>' Intrinsic</a></li>
         </ol>
       </li>
     </ol>
@@ -1440,11 +1442,6 @@ Classifications</a> </div>
   </tr>
 </table>
 
-<p>Note that the code generator does not yet support large integer types to be
-   used as function return types. The specific limit on how large a return type
-   the code generator can currently handle is target-dependent; currently it's
-   often 64 bits for 32-bit targets and 128 bits for 64-bit targets.</p>
-
 </div>
 
 <!-- _______________________________________________________________________ -->
@@ -1583,11 +1580,6 @@ Classifications</a> </div>
    length array type. An implementation of 'pascal style arrays' in LLVM could
    use the type "<tt>{ i32, [0 x float]}</tt>", for example.</p>
 
-<p>Note that the code generator does not yet support large aggregate types to be
-   used as function return types. The specific limit on how large an aggregate
-   return type the code generator can currently handle is target-dependent, and
-   also dependent on the aggregate element types.</p>
-
 </div>
 
 <!-- _______________________________________________________________________ -->
@@ -1680,11 +1672,6 @@ Classifications</a> </div>
   </tr>
 </table>
 
-<p>Note that the code generator does not yet support large aggregate types to be
-   used as function return types. The specific limit on how large an aggregate
-   return type the code generator can currently handle is target-dependent, and
-   also dependent on the aggregate element types.</p>
-
 </div>
 
 <!-- _______________________________________________________________________ -->
@@ -1775,8 +1762,7 @@ Classifications</a> </div>
 <p>A vector type is a simple derived type that represents a vector of elements.
    Vector types are used when multiple primitive data are operated in parallel
    using a single instruction (SIMD).  A vector type requires a size (number of
-   elements) and an underlying primitive data type.  Vectors must have a power
-   of two length (1, 2, 4, 8, 16 ...).  Vector types are considered
+   elements) and an underlying primitive data type.  Vector types are considered
    <a href="#t_firstclass">first class</a>.</p>
 
 <h5>Syntax:</h5>
@@ -1803,11 +1789,6 @@ Classifications</a> </div>
   </tr>
 </table>
 
-<p>Note that the code generator does not yet support large vector types to be
-   used as function return types. The specific limit on how large a vector
-   return type codegen can currently handle is target-dependent; currently it's
-   often a few times longer than a hardware vector register.</p>
-
 </div>
 
 <!-- _______________________________________________________________________ -->
@@ -2600,14 +2581,6 @@ Instruction</a> </div>
   ret { i32, i8 } { i32 4, i8 2 } <i>; Return a struct of values 4 and 2</i>
 </pre>
 
-<p>Note that the code generator does not yet fully support large
-   return values. The specific sizes that are currently supported are
-   dependent on the target. For integers, on 32-bit targets the limit
-   is often 64 bits, and on 64-bit targets the limit is often 128 bits.
-   For aggregate types, the current limits are dependent on the element
-   types; for example targets are often limited to 2 total integer
-   elements and 2 total floating-point elements.</p>
-
 </div>
 <!-- _______________________________________________________________________ -->
 <div class="doc_subsubsection"> <a name="i_br">'<tt>br</tt>' Instruction</a> </div>
@@ -7275,6 +7248,41 @@ LLVM</a>.</p>
 
 </div>
 
+<!-- _______________________________________________________________________ -->
+<div class="doc_subsubsection">
+  <a name="int_objectsize">'<tt>llvm.objectsize</tt>' Intrinsic</a>
+</div>
+
+<div class="doc_text">
+
+<h5>Syntax:</h5>
+<pre>
+  declare i32 @llvm.objectsize.i32( i8* &lt;ptr&gt;, i32 &lt;type&gt; )
+  declare i64 @llvm.objectsize.i64( i8* &lt;ptr&gt;, i32 &lt;type&gt; )
+</pre>
+
+<h5>Overview:</h5>
+<p>The <tt>llvm.objectsize</tt> intrinsic returns the constant number of bytes
+   from <tt>ptr</tt> to the end of the object <tt>ptr</tt> points to if it
+   can deduce this at compile time.  If there are any side-effects in evaluating
+   the argument or it cannot deduce which objects <tt>ptr</tt> points to at compile
+   time the intrinsic returns <tt>(size_t) -1</tt> for <tt>type</tt> 0
+   or 1 and <tt>(size_t) 0</tt> for <tt>type</tt> 2 or 3.</p>
+
+<h5>Arguments:</h5>
+<p>The <tt>llvm.objectsize</tt> intrinsic takes two arguments.  The first
+   argument is a pointer to the object <tt>ptr</tt> and an integer <tt>type</tt>.
+   <tt>type</tt> is an integer ranging from 0 to 3. The lsb corresponds to
+   a return value based on whole objects, the second bit whether or not we
+   return the maximum or minimum remaining bytes computed.</p>
+
+<h5>Semantics:</h5>
+<p>The <tt>llvm.objectsize</tt> intrinsic is lowered to either a constant
+   representing the size of the object concerned or <tt>(size_t) -1</tt> if
+   it cannot be determined at compile time.</p>
+
+</div>
+
 <!-- *********************************************************************** -->
 <hr>
 <address>
@@ -7285,7 +7293,7 @@ LLVM</a>.</p>
 
   <a href="mailto:sabre at nondot.org">Chris Lattner</a><br>
   <a href="http://llvm.org">The LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2009-11-09 20:01:53 +0100 (Mon, 09 Nov 2009) $
+  Last modified: $Date: 2009-11-30 09:03:53 +0100 (Mon, 30 Nov 2009) $
 </address>
 
 </body>

Modified: vendor/llvm/dist/docs/SourceLevelDebugging.html
==============================================================================
--- vendor/llvm/dist/docs/SourceLevelDebugging.html	Tue Dec  1 07:28:56 2009	(r199988)
+++ vendor/llvm/dist/docs/SourceLevelDebugging.html	Tue Dec  1 11:07:05 2009	(r199989)
@@ -37,15 +37,10 @@
     </ul></li>
     <li><a href="#format_common_intrinsics">Debugger intrinsic functions</a>
       <ul>
-      <li><a href="#format_common_stoppoint">llvm.dbg.stoppoint</a></li>
-      <li><a href="#format_common_func_start">llvm.dbg.func.start</a></li>
-      <li><a href="#format_common_region_start">llvm.dbg.region.start</a></li>
-      <li><a href="#format_common_region_end">llvm.dbg.region.end</a></li>
       <li><a href="#format_common_declare">llvm.dbg.declare</a></li>
     </ul></li>
-    <li><a href="#format_common_stoppoints">Representing stopping points in the
-                                           source program</a></li>
   </ol></li>
+  <li><a href="#format_common_lifetime">Object lifetimes and scoping</a></li>
   <li><a href="#ccxx_frontend">C/C++ front-end specific debug information</a>
   <ol>
     <li><a href="#ccxx_compile_units">C/C++ source file information</a></li>
@@ -763,272 +758,182 @@ DW_TAG_return_variable = 258
 
 <!-- ======================================================================= -->
 <div class="doc_subsubsection">
-  <a name="format_common_stoppoint">llvm.dbg.stoppoint</a>
+  <a name="format_common_declare">llvm.dbg.declare</a>
 </div>
 
 <div class="doc_text">
 <pre>
-  void %<a href="#format_common_stoppoint">llvm.dbg.stoppoint</a>( uint, uint, metadata)
+  void %<a href="#format_common_declare">llvm.dbg.declare</a>( { } *, metadata )
 </pre>
 
-<p>This intrinsic is used to provide correspondence between the source file and
-   the generated code.  The first argument is the line number (base 1), second
-   argument is the column number (0 if unknown) and the third argument the
-   source <tt>%<a href="#format_compile_units">llvm.dbg.compile_unit</a></tt>.
-   Code following a call to this intrinsic will
-   have been defined in close proximity of the line, column and file. This
-   information holds until the next call
-   to <tt>%<a href="#format_common_stoppoint">lvm.dbg.stoppoint</a></tt>.</p>
+<p>This intrinsic provides information about a local element (ex. variable.) The
+   first argument is the alloca for the variable, cast to a <tt>{ }*</tt>. The
+   second argument is
+   the <tt>%<a href="#format_variables">llvm.dbg.variable</a></tt> containing
+   the description of the variable. </p>
 
 </div>
 
 <!-- ======================================================================= -->
-<div class="doc_subsubsection">
-  <a name="format_common_func_start">llvm.dbg.func.start</a>
+<div class="doc_subsection">
+  <a name="format_common_lifetime">Object lifetimes and scoping</a>
 </div>
 
 <div class="doc_text">
-<pre>
-  void %<a href="#format_common_func_start">llvm.dbg.func.start</a>( metadata )
-</pre>
+<p>In many languages, the local variables in functions can have their lifetimes
+   or scopes limited to a subset of a function.  In the C family of languages,
+   for example, variables are only live (readable and writable) within the
+   source block that they are defined in.  In functional languages, values are
+   only readable after they have been defined.  Though this is a very obvious
+   concept, it is non-trivial to model in LLVM, because it has no notion of
+   scoping in this sense, and does not want to be tied to a language's scoping
+   rules.</p>
 
-<p>This intrinsic is used to link the debug information
-   in <tt>%<a href="#format_subprograms">llvm.dbg.subprogram</a></tt> to the
-   function. It defines the beginning of the function's declarative region
-   (scope). It also implies a call to
-   %<tt><a href="#format_common_stoppoint">llvm.dbg.stoppoint</a></tt> which
-   defines a source line "stop point". The intrinsic should be called early in
-   the function after the all the alloca instructions.  It should be paired off
-   with a closing
-   <tt>%<a href="#format_common_region_end">llvm.dbg.region.end</a></tt>.
-   The function's single argument is
-   the <tt>%<a href="#format_subprograms">llvm.dbg.subprogram.type</a></tt>.</p>
+<p>In order to handle this, the LLVM debug format uses the metadata attached to
+   llvm instructions to encode line nuber and scoping information. Consider the
+   following C fragment, for example:</p>
 
+<div class="doc_code">
+<pre>
+1.  void foo() {
+2.    int X = 21;
+3.    int Y = 22;
+4.    {
+5.      int Z = 23;
+6.      Z = X;
+7.    }
+8.    X = Y;
+9.  }
+</pre>
 </div>
 
-<!-- ======================================================================= -->
-<div class="doc_subsubsection">
-  <a name="format_common_region_start">llvm.dbg.region.start</a>
-</div>
+<p>Compiled to LLVM, this function would be represented like this:</p>
 
-<div class="doc_text">
+<div class="doc_code">
 <pre>
-  void %<a href="#format_common_region_start">llvm.dbg.region.start</a>( metadata )
-</pre>
-
-<p>This intrinsic is used to define the beginning of a declarative scope (ex.
-   block) for local language elements.  It should be paired off with a closing
-   <tt>%<a href="#format_common_region_end">llvm.dbg.region.end</a></tt>.  The
-   function's single argument is
-   the <tt>%<a href="#format_blocks">llvm.dbg.block</a></tt> which is
-   starting.</p>
+define void @foo() nounwind ssp {
+entry:
+  %X = alloca i32, align 4                        ; &lt;i32*&gt; [#uses=4]
+  %Y = alloca i32, align 4                        ; &lt;i32*&gt; [#uses=4]
+  %Z = alloca i32, align 4                        ; &lt;i32*&gt; [#uses=3]
+  %0 = bitcast i32* %X to { }*                    ; &lt;{ }*&gt; [#uses=1]
+  call void @llvm.dbg.declare({ }* %0, metadata !0), !dbg !7
+  store i32 21, i32* %X, !dbg !8
+  %1 = bitcast i32* %Y to { }*                    ; &lt;{ }*&gt; [#uses=1]
+  call void @llvm.dbg.declare({ }* %1, metadata !9), !dbg !10
+  store i32 22, i32* %Y, !dbg !11
+  %2 = bitcast i32* %Z to { }*                    ; &lt;{ }*&gt; [#uses=1]
+  call void @llvm.dbg.declare({ }* %2, metadata !12), !dbg !14
+  store i32 23, i32* %Z, !dbg !15
+  %tmp = load i32* %X, !dbg !16                   ; &lt;i32&gt; [#uses=1]
+  %tmp1 = load i32* %Y, !dbg !16                  ; &lt;i32&gt; [#uses=1]
+  %add = add nsw i32 %tmp, %tmp1, !dbg !16        ; &lt;i32&gt; [#uses=1]
+  store i32 %add, i32* %Z, !dbg !16
+  %tmp2 = load i32* %Y, !dbg !17                  ; &lt;i32&gt; [#uses=1]
+  store i32 %tmp2, i32* %X, !dbg !17
+  ret void, !dbg !18
+}
 
+declare void @llvm.dbg.declare({ }*, metadata) nounwind readnone
 
+!0 = metadata !{i32 459008, metadata !1, metadata !"X", 
+                metadata !3, i32 2, metadata !6}; [ DW_TAG_auto_variable ]
+!1 = metadata !{i32 458763, metadata !2}; [DW_TAG_lexical_block ]
+!2 = metadata !{i32 458798, i32 0, metadata !3, metadata !"foo", metadata !"foo", 
+               metadata !"foo", metadata !3, i32 1, metadata !4, 
+               i1 false, i1 true}; [DW_TAG_subprogram ]
+!3 = metadata !{i32 458769, i32 0, i32 12, metadata !"foo.c", 
+                metadata !"/private/tmp", metadata !"clang 1.1", i1 true, 
+                i1 false, metadata !"", i32 0}; [DW_TAG_compile_unit ]
+!4 = metadata !{i32 458773, metadata !3, metadata !"", null, i32 0, i64 0, i64 0, 
+                i64 0, i32 0, null, metadata !5, i32 0}; [DW_TAG_subroutine_type ]
+!5 = metadata !{null}
+!6 = metadata !{i32 458788, metadata !3, metadata !"int", metadata !3, i32 0, 
+                i64 32, i64 32, i64 0, i32 0, i32 5}; [DW_TAG_base_type ]
+!7 = metadata !{i32 2, i32 7, metadata !1, null}
+!8 = metadata !{i32 2, i32 3, metadata !1, null}
+!9 = metadata !{i32 459008, metadata !1, metadata !"Y", metadata !3, i32 3, 
+                metadata !6}; [ DW_TAG_auto_variable ]
+!10 = metadata !{i32 3, i32 7, metadata !1, null}
+!11 = metadata !{i32 3, i32 3, metadata !1, null}
+!12 = metadata !{i32 459008, metadata !13, metadata !"Z", metadata !3, i32 5, 
+                 metadata !6}; [ DW_TAG_auto_variable ]
+!13 = metadata !{i32 458763, metadata !1}; [DW_TAG_lexical_block ]
+!14 = metadata !{i32 5, i32 9, metadata !13, null}
+!15 = metadata !{i32 5, i32 5, metadata !13, null}
+!16 = metadata !{i32 6, i32 5, metadata !13, null}
+!17 = metadata !{i32 8, i32 3, metadata !1, null}
+!18 = metadata !{i32 9, i32 1, metadata !2, null}
+</pre>

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-all mailing list