svn commit: r202878 - in vendor/llvm/dist: . bindings/ocaml/llvm cmake/modules docs include/llvm include/llvm-c include/llvm/ADT include/llvm/Analysis include/llvm/CodeGen include/llvm/MC include/l...

Roman Divacky rdivacky at FreeBSD.org
Sat Jan 23 11:09:34 UTC 2010


Author: rdivacky
Date: Sat Jan 23 11:09:33 2010
New Revision: 202878
URL: http://svn.freebsd.org/changeset/base/202878

Log:
  Update LLVM to r94309.

Added:
  vendor/llvm/dist/include/llvm/Analysis/DOTGraphTraitsPass.h
  vendor/llvm/dist/include/llvm/MC/MCDirectives.h
  vendor/llvm/dist/include/llvm/MC/MCParser/
  vendor/llvm/dist/include/llvm/MC/MCParser/AsmCond.h
  vendor/llvm/dist/include/llvm/MC/MCParser/AsmLexer.h
  vendor/llvm/dist/include/llvm/MC/MCParser/AsmParser.h
  vendor/llvm/dist/include/llvm/MC/MCParser/MCAsmLexer.h
  vendor/llvm/dist/include/llvm/MC/MCParser/MCAsmParser.h
  vendor/llvm/dist/include/llvm/MC/MCParser/MCParsedAsmOperand.h
  vendor/llvm/dist/include/llvm/Support/SMLoc.h
  vendor/llvm/dist/include/llvm/Target/Mangler.h
  vendor/llvm/dist/include/llvm/Target/TargetAsmLexer.h
  vendor/llvm/dist/lib/MC/MCParser/
  vendor/llvm/dist/lib/MC/MCParser/AsmLexer.cpp
  vendor/llvm/dist/lib/MC/MCParser/AsmParser.cpp
  vendor/llvm/dist/lib/MC/MCParser/CMakeLists.txt
  vendor/llvm/dist/lib/MC/MCParser/MCAsmLexer.cpp
  vendor/llvm/dist/lib/MC/MCParser/MCAsmParser.cpp
  vendor/llvm/dist/lib/MC/MCParser/Makefile
  vendor/llvm/dist/lib/MC/MCParser/TargetAsmParser.cpp
  vendor/llvm/dist/lib/Target/MSP430/MSP430BranchSelector.cpp
  vendor/llvm/dist/lib/Target/Mangler.cpp
  vendor/llvm/dist/lib/Target/TargetAsmLexer.cpp
  vendor/llvm/dist/lib/Target/X86/AsmParser/X86AsmLexer.cpp
  vendor/llvm/dist/test/Analysis/PostDominators/pr6047_a.ll
  vendor/llvm/dist/test/Analysis/PostDominators/pr6047_b.ll
  vendor/llvm/dist/test/Analysis/PostDominators/pr6047_c.ll
  vendor/llvm/dist/test/Analysis/PostDominators/pr6047_d.ll
  vendor/llvm/dist/test/CodeGen/ARM/ctz.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/stubs.ll
  vendor/llvm/dist/test/CodeGen/Thumb/2010-01-15-local-alloc-spill-physical.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/2010-01-19-RemovePredicates.ll
  vendor/llvm/dist/test/CodeGen/X86/2010-01-15-SelectionDAGCycle.ll
  vendor/llvm/dist/test/CodeGen/X86/2010-01-19-OptExtBug.ll
  vendor/llvm/dist/test/CodeGen/X86/bigstructret2.ll
  vendor/llvm/dist/test/CodeGen/X86/neg-shl-add.ll
  vendor/llvm/dist/test/DebugInfo/2010-01-19-DbgScope.ll
  vendor/llvm/dist/test/FrontendC/2010-01-18-Inlined-Debug.c
  vendor/llvm/dist/test/FrontendC/pr5406.c
  vendor/llvm/dist/test/Transforms/InstCombine/bitcast-sext-vector.ll
  vendor/llvm/dist/test/Transforms/InstCombine/fsub.ll
  vendor/llvm/dist/test/Transforms/InstCombine/idioms.ll
  vendor/llvm/dist/test/Transforms/Mem2Reg/ConvertDebugInfo.ll
  vendor/llvm/dist/test/Transforms/ScalarRepl/2010-01-18-SelfCopy.ll
  vendor/llvm/dist/unittests/Support/System.cpp
  vendor/llvm/dist/utils/GetSourceVersion   (contents, props changed)
Deleted:
  vendor/llvm/dist/include/llvm/MC/MCAsmLexer.h
  vendor/llvm/dist/include/llvm/MC/MCAsmParser.h
  vendor/llvm/dist/include/llvm/MC/MCParsedAsmOperand.h
  vendor/llvm/dist/include/llvm/Support/Mangler.h
  vendor/llvm/dist/lib/CodeGen/MachO.h
  vendor/llvm/dist/lib/CodeGen/MachOCodeEmitter.cpp
  vendor/llvm/dist/lib/CodeGen/MachOCodeEmitter.h
  vendor/llvm/dist/lib/CodeGen/MaxStackAlignment.cpp
  vendor/llvm/dist/lib/MC/MCAsmLexer.cpp
  vendor/llvm/dist/lib/MC/MCAsmParser.cpp
  vendor/llvm/dist/lib/MC/TargetAsmParser.cpp
  vendor/llvm/dist/lib/VMCore/Mangler.cpp
  vendor/llvm/dist/test/CodeGen/Generic/GC/frame_size.ll
  vendor/llvm/dist/test/CodeGen/X86/2007-08-13-SpillerReuse.ll
  vendor/llvm/dist/test/CodeGen/X86/illegal-asm.ll
  vendor/llvm/dist/test/CodeGen/X86/remat-mov-1.ll
  vendor/llvm/dist/test/CodeGen/X86/subreg-to-reg-5.ll
  vendor/llvm/dist/test/Transforms/InstCombine/apint-elim-logicalops.ll
  vendor/llvm/dist/test/Transforms/InstCombine/fsub-fadd.ll
  vendor/llvm/dist/test/Transforms/InstCombine/fsub-fsub.ll
  vendor/llvm/dist/test/Transforms/LoopStrengthReduce/icmp_use_postinc.ll
Modified:
  vendor/llvm/dist/CMakeLists.txt
  vendor/llvm/dist/Makefile
  vendor/llvm/dist/Makefile.rules
  vendor/llvm/dist/bindings/ocaml/llvm/llvm.ml
  vendor/llvm/dist/bindings/ocaml/llvm/llvm.mli
  vendor/llvm/dist/bindings/ocaml/llvm/llvm_ocaml.c
  vendor/llvm/dist/cmake/modules/LLVMLibDeps.cmake
  vendor/llvm/dist/docs/BitCodeFormat.html
  vendor/llvm/dist/docs/LangRef.html
  vendor/llvm/dist/docs/ReleaseNotes.html
  vendor/llvm/dist/include/llvm-c/Core.h
  vendor/llvm/dist/include/llvm/ADT/DenseMapInfo.h
  vendor/llvm/dist/include/llvm/ADT/ImmutableMap.h
  vendor/llvm/dist/include/llvm/ADT/ImmutableSet.h
  vendor/llvm/dist/include/llvm/Analysis/DebugInfo.h
  vendor/llvm/dist/include/llvm/Analysis/DominatorInternals.h
  vendor/llvm/dist/include/llvm/Analysis/IVUsers.h
  vendor/llvm/dist/include/llvm/Analysis/LoopPass.h
  vendor/llvm/dist/include/llvm/Analysis/ScalarEvolution.h
  vendor/llvm/dist/include/llvm/Analysis/ScalarEvolutionExpander.h
  vendor/llvm/dist/include/llvm/Analysis/ScalarEvolutionExpressions.h
  vendor/llvm/dist/include/llvm/Attributes.h
  vendor/llvm/dist/include/llvm/CallGraphSCCPass.h
  vendor/llvm/dist/include/llvm/CodeGen/AsmPrinter.h
  vendor/llvm/dist/include/llvm/CodeGen/FileWriters.h
  vendor/llvm/dist/include/llvm/CodeGen/LinkAllCodegenComponents.h
  vendor/llvm/dist/include/llvm/CodeGen/MachineBasicBlock.h
  vendor/llvm/dist/include/llvm/CodeGen/MachineFunction.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/SchedulerRegistry.h
  vendor/llvm/dist/include/llvm/CodeGen/SelectionDAG.h
  vendor/llvm/dist/include/llvm/CodeGen/SelectionDAGNodes.h
  vendor/llvm/dist/include/llvm/InstrTypes.h
  vendor/llvm/dist/include/llvm/IntrinsicInst.h
  vendor/llvm/dist/include/llvm/LinkAllVMCore.h
  vendor/llvm/dist/include/llvm/MC/MCAsmInfo.h
  vendor/llvm/dist/include/llvm/MC/MCExpr.h
  vendor/llvm/dist/include/llvm/MC/MCSectionELF.h
  vendor/llvm/dist/include/llvm/MC/MCStreamer.h
  vendor/llvm/dist/include/llvm/MC/MCSymbol.h
  vendor/llvm/dist/include/llvm/MC/MCValue.h
  vendor/llvm/dist/include/llvm/MC/SectionKind.h
  vendor/llvm/dist/include/llvm/Metadata.h
  vendor/llvm/dist/include/llvm/Pass.h
  vendor/llvm/dist/include/llvm/PassAnalysisSupport.h
  vendor/llvm/dist/include/llvm/PassManagers.h
  vendor/llvm/dist/include/llvm/PassSupport.h
  vendor/llvm/dist/include/llvm/Support/CFG.h
  vendor/llvm/dist/include/llvm/Support/DebugLoc.h
  vendor/llvm/dist/include/llvm/Support/PassNameParser.h
  vendor/llvm/dist/include/llvm/Support/SourceMgr.h
  vendor/llvm/dist/include/llvm/Support/raw_ostream.h
  vendor/llvm/dist/include/llvm/System/Host.h
  vendor/llvm/dist/include/llvm/Target/Target.td
  vendor/llvm/dist/include/llvm/Target/TargetAsmParser.h
  vendor/llvm/dist/include/llvm/Target/TargetInstrInfo.h
  vendor/llvm/dist/include/llvm/Target/TargetLoweringObjectFile.h
  vendor/llvm/dist/include/llvm/Target/TargetMachine.h
  vendor/llvm/dist/include/llvm/Target/TargetRegistry.h
  vendor/llvm/dist/include/llvm/Transforms/IPO/InlinerPass.h
  vendor/llvm/dist/include/llvm/Transforms/Utils/Local.h
  vendor/llvm/dist/lib/Analysis/AliasAnalysisCounter.cpp
  vendor/llvm/dist/lib/Analysis/AliasDebugger.cpp
  vendor/llvm/dist/lib/Analysis/BasicAliasAnalysis.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/CallGraph.cpp
  vendor/llvm/dist/lib/Analysis/IPA/CallGraphSCCPass.cpp
  vendor/llvm/dist/lib/Analysis/IPA/GlobalsModRef.cpp
  vendor/llvm/dist/lib/Analysis/IPA/Makefile
  vendor/llvm/dist/lib/Analysis/IVUsers.cpp
  vendor/llvm/dist/lib/Analysis/LoopPass.cpp
  vendor/llvm/dist/lib/Analysis/Makefile
  vendor/llvm/dist/lib/Analysis/ProfileEstimatorPass.cpp
  vendor/llvm/dist/lib/Analysis/ProfileInfo.cpp
  vendor/llvm/dist/lib/Analysis/ProfileInfoLoaderPass.cpp
  vendor/llvm/dist/lib/Analysis/ScalarEvolution.cpp
  vendor/llvm/dist/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp
  vendor/llvm/dist/lib/Analysis/ScalarEvolutionExpander.cpp
  vendor/llvm/dist/lib/Archive/Makefile
  vendor/llvm/dist/lib/AsmParser/LLLexer.cpp
  vendor/llvm/dist/lib/AsmParser/LLParser.cpp
  vendor/llvm/dist/lib/AsmParser/LLParser.h
  vendor/llvm/dist/lib/AsmParser/LLToken.h
  vendor/llvm/dist/lib/AsmParser/Makefile
  vendor/llvm/dist/lib/AsmParser/Parser.cpp
  vendor/llvm/dist/lib/Bitcode/Reader/BitcodeReader.cpp
  vendor/llvm/dist/lib/Bitcode/Reader/Makefile
  vendor/llvm/dist/lib/Bitcode/Writer/Makefile
  vendor/llvm/dist/lib/Bitcode/Writer/ValueEnumerator.cpp
  vendor/llvm/dist/lib/Bitcode/Writer/ValueEnumerator.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/DwarfException.h
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfPrinter.h
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/Makefile
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp
  vendor/llvm/dist/lib/CodeGen/CMakeLists.txt
  vendor/llvm/dist/lib/CodeGen/DwarfEHPrepare.cpp
  vendor/llvm/dist/lib/CodeGen/ELFWriter.cpp
  vendor/llvm/dist/lib/CodeGen/LLVMTargetMachine.cpp
  vendor/llvm/dist/lib/CodeGen/LiveIntervalAnalysis.cpp
  vendor/llvm/dist/lib/CodeGen/MachOWriter.cpp
  vendor/llvm/dist/lib/CodeGen/MachOWriter.h
  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/Makefile
  vendor/llvm/dist/lib/CodeGen/OptimizeExts.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/Makefile
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
  vendor/llvm/dist/lib/CodeGen/SlotIndexes.cpp
  vendor/llvm/dist/lib/CodeGen/TailDuplication.cpp
  vendor/llvm/dist/lib/ExecutionEngine/Interpreter/Makefile
  vendor/llvm/dist/lib/ExecutionEngine/JIT/JITEmitter.cpp
  vendor/llvm/dist/lib/ExecutionEngine/JIT/Makefile
  vendor/llvm/dist/lib/ExecutionEngine/JIT/OProfileJITEventListener.cpp
  vendor/llvm/dist/lib/ExecutionEngine/Makefile
  vendor/llvm/dist/lib/Linker/LinkModules.cpp
  vendor/llvm/dist/lib/Linker/Makefile
  vendor/llvm/dist/lib/MC/CMakeLists.txt
  vendor/llvm/dist/lib/MC/MCAsmInfo.cpp
  vendor/llvm/dist/lib/MC/MCAsmInfoCOFF.cpp
  vendor/llvm/dist/lib/MC/MCAsmInfoDarwin.cpp
  vendor/llvm/dist/lib/MC/MCAsmStreamer.cpp
  vendor/llvm/dist/lib/MC/MCAssembler.cpp
  vendor/llvm/dist/lib/MC/MCExpr.cpp
  vendor/llvm/dist/lib/MC/MCInst.cpp
  vendor/llvm/dist/lib/MC/MCMachOStreamer.cpp
  vendor/llvm/dist/lib/MC/MCNullStreamer.cpp
  vendor/llvm/dist/lib/MC/MCSectionELF.cpp
  vendor/llvm/dist/lib/MC/MCStreamer.cpp
  vendor/llvm/dist/lib/MC/MCSymbol.cpp
  vendor/llvm/dist/lib/MC/MCValue.cpp
  vendor/llvm/dist/lib/MC/Makefile
  vendor/llvm/dist/lib/Support/Debug.cpp
  vendor/llvm/dist/lib/Support/SourceMgr.cpp
  vendor/llvm/dist/lib/Support/StringExtras.cpp
  vendor/llvm/dist/lib/Support/raw_ostream.cpp
  vendor/llvm/dist/lib/System/Host.cpp
  vendor/llvm/dist/lib/System/Unix/TimeValue.inc
  vendor/llvm/dist/lib/Target/ARM/ARMBaseInstrInfo.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMBaseRegisterInfo.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMBaseRegisterInfo.h
  vendor/llvm/dist/lib/Target/ARM/ARMISelDAGToDAG.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMISelLowering.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMISelLowering.h
  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/ARMMCAsmInfo.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMTargetMachine.cpp
  vendor/llvm/dist/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
  vendor/llvm/dist/lib/Target/ARM/AsmParser/Makefile
  vendor/llvm/dist/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp
  vendor/llvm/dist/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp
  vendor/llvm/dist/lib/Target/ARM/AsmPrinter/ARMMCInstLower.cpp
  vendor/llvm/dist/lib/Target/ARM/AsmPrinter/Makefile
  vendor/llvm/dist/lib/Target/ARM/Makefile
  vendor/llvm/dist/lib/Target/ARM/README.txt
  vendor/llvm/dist/lib/Target/ARM/TargetInfo/Makefile
  vendor/llvm/dist/lib/Target/ARM/Thumb1InstrInfo.cpp
  vendor/llvm/dist/lib/Target/ARM/Thumb1RegisterInfo.cpp
  vendor/llvm/dist/lib/Target/ARM/Thumb2InstrInfo.cpp
  vendor/llvm/dist/lib/Target/ARM/Thumb2SizeReduction.cpp
  vendor/llvm/dist/lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp
  vendor/llvm/dist/lib/Target/Alpha/AsmPrinter/Makefile
  vendor/llvm/dist/lib/Target/Alpha/Makefile
  vendor/llvm/dist/lib/Target/Alpha/TargetInfo/Makefile
  vendor/llvm/dist/lib/Target/Blackfin/AsmPrinter/BlackfinAsmPrinter.cpp
  vendor/llvm/dist/lib/Target/Blackfin/AsmPrinter/Makefile
  vendor/llvm/dist/lib/Target/Blackfin/Makefile
  vendor/llvm/dist/lib/Target/Blackfin/TargetInfo/Makefile
  vendor/llvm/dist/lib/Target/CBackend/CBackend.cpp
  vendor/llvm/dist/lib/Target/CBackend/Makefile
  vendor/llvm/dist/lib/Target/CBackend/TargetInfo/Makefile
  vendor/llvm/dist/lib/Target/CMakeLists.txt
  vendor/llvm/dist/lib/Target/CellSPU/AsmPrinter/Makefile
  vendor/llvm/dist/lib/Target/CellSPU/AsmPrinter/SPUAsmPrinter.cpp
  vendor/llvm/dist/lib/Target/CellSPU/Makefile
  vendor/llvm/dist/lib/Target/CellSPU/SPUMCAsmInfo.cpp
  vendor/llvm/dist/lib/Target/CellSPU/TargetInfo/Makefile
  vendor/llvm/dist/lib/Target/CppBackend/CPPBackend.cpp
  vendor/llvm/dist/lib/Target/CppBackend/Makefile
  vendor/llvm/dist/lib/Target/CppBackend/TargetInfo/Makefile
  vendor/llvm/dist/lib/Target/MSIL/MSILWriter.cpp
  vendor/llvm/dist/lib/Target/MSIL/MSILWriter.h
  vendor/llvm/dist/lib/Target/MSIL/Makefile
  vendor/llvm/dist/lib/Target/MSIL/TargetInfo/Makefile
  vendor/llvm/dist/lib/Target/MSP430/AsmPrinter/MSP430AsmPrinter.cpp
  vendor/llvm/dist/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.cpp
  vendor/llvm/dist/lib/Target/MSP430/AsmPrinter/MSP430MCInstLower.cpp
  vendor/llvm/dist/lib/Target/MSP430/AsmPrinter/Makefile
  vendor/llvm/dist/lib/Target/MSP430/CMakeLists.txt
  vendor/llvm/dist/lib/Target/MSP430/MSP430.h
  vendor/llvm/dist/lib/Target/MSP430/MSP430.td
  vendor/llvm/dist/lib/Target/MSP430/MSP430ISelLowering.cpp
  vendor/llvm/dist/lib/Target/MSP430/MSP430ISelLowering.h
  vendor/llvm/dist/lib/Target/MSP430/MSP430InstrFormats.td
  vendor/llvm/dist/lib/Target/MSP430/MSP430InstrInfo.cpp
  vendor/llvm/dist/lib/Target/MSP430/MSP430InstrInfo.h
  vendor/llvm/dist/lib/Target/MSP430/MSP430InstrInfo.td
  vendor/llvm/dist/lib/Target/MSP430/MSP430TargetMachine.cpp
  vendor/llvm/dist/lib/Target/MSP430/MSP430TargetMachine.h
  vendor/llvm/dist/lib/Target/MSP430/Makefile
  vendor/llvm/dist/lib/Target/MSP430/TargetInfo/Makefile
  vendor/llvm/dist/lib/Target/Makefile
  vendor/llvm/dist/lib/Target/Mips/AsmPrinter/Makefile
  vendor/llvm/dist/lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp
  vendor/llvm/dist/lib/Target/Mips/Makefile
  vendor/llvm/dist/lib/Target/Mips/MipsCallingConv.td
  vendor/llvm/dist/lib/Target/Mips/MipsISelDAGToDAG.cpp
  vendor/llvm/dist/lib/Target/Mips/MipsInstrInfo.cpp
  vendor/llvm/dist/lib/Target/Mips/MipsInstrInfo.td
  vendor/llvm/dist/lib/Target/Mips/MipsRegisterInfo.cpp
  vendor/llvm/dist/lib/Target/Mips/TargetInfo/Makefile
  vendor/llvm/dist/lib/Target/PIC16/AsmPrinter/Makefile
  vendor/llvm/dist/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.cpp
  vendor/llvm/dist/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.h
  vendor/llvm/dist/lib/Target/PIC16/Makefile
  vendor/llvm/dist/lib/Target/PIC16/PIC16DebugInfo.cpp
  vendor/llvm/dist/lib/Target/PIC16/PIC16Passes/Makefile
  vendor/llvm/dist/lib/Target/PIC16/TargetInfo/Makefile
  vendor/llvm/dist/lib/Target/PowerPC/AsmPrinter/Makefile
  vendor/llvm/dist/lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp
  vendor/llvm/dist/lib/Target/PowerPC/Makefile
  vendor/llvm/dist/lib/Target/PowerPC/PPCMCAsmInfo.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCTargetMachine.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCTargetMachine.h
  vendor/llvm/dist/lib/Target/PowerPC/TargetInfo/Makefile
  vendor/llvm/dist/lib/Target/README.txt
  vendor/llvm/dist/lib/Target/Sparc/AsmPrinter/Makefile
  vendor/llvm/dist/lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp
  vendor/llvm/dist/lib/Target/Sparc/Makefile
  vendor/llvm/dist/lib/Target/Sparc/TargetInfo/Makefile
  vendor/llvm/dist/lib/Target/SystemZ/AsmPrinter/Makefile
  vendor/llvm/dist/lib/Target/SystemZ/AsmPrinter/SystemZAsmPrinter.cpp
  vendor/llvm/dist/lib/Target/SystemZ/Makefile
  vendor/llvm/dist/lib/Target/SystemZ/SystemZMCAsmInfo.cpp
  vendor/llvm/dist/lib/Target/SystemZ/SystemZMCAsmInfo.h
  vendor/llvm/dist/lib/Target/SystemZ/TargetInfo/Makefile
  vendor/llvm/dist/lib/Target/TargetLoweringObjectFile.cpp
  vendor/llvm/dist/lib/Target/TargetMachine.cpp
  vendor/llvm/dist/lib/Target/X86/AsmParser/CMakeLists.txt
  vendor/llvm/dist/lib/Target/X86/AsmParser/Makefile
  vendor/llvm/dist/lib/Target/X86/AsmParser/X86AsmParser.cpp
  vendor/llvm/dist/lib/Target/X86/AsmPrinter/Makefile
  vendor/llvm/dist/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp
  vendor/llvm/dist/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp
  vendor/llvm/dist/lib/Target/X86/AsmPrinter/X86AsmPrinter.h
  vendor/llvm/dist/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.cpp
  vendor/llvm/dist/lib/Target/X86/AsmPrinter/X86MCInstLower.cpp
  vendor/llvm/dist/lib/Target/X86/Disassembler/Makefile
  vendor/llvm/dist/lib/Target/X86/Makefile
  vendor/llvm/dist/lib/Target/X86/TargetInfo/Makefile
  vendor/llvm/dist/lib/Target/X86/X86COFFMachineModuleInfo.cpp
  vendor/llvm/dist/lib/Target/X86/X86COFFMachineModuleInfo.h
  vendor/llvm/dist/lib/Target/X86/X86FastISel.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.h
  vendor/llvm/dist/lib/Target/X86/X86MCAsmInfo.cpp
  vendor/llvm/dist/lib/Target/X86/X86MCAsmInfo.h
  vendor/llvm/dist/lib/Target/X86/X86RegisterInfo.cpp
  vendor/llvm/dist/lib/Target/X86/X86RegisterInfo.h
  vendor/llvm/dist/lib/Target/X86/X86TargetMachine.cpp
  vendor/llvm/dist/lib/Target/X86/X86TargetMachine.h
  vendor/llvm/dist/lib/Target/X86/X86TargetObjectFile.cpp
  vendor/llvm/dist/lib/Target/XCore/AsmPrinter/Makefile
  vendor/llvm/dist/lib/Target/XCore/AsmPrinter/XCoreAsmPrinter.cpp
  vendor/llvm/dist/lib/Target/XCore/Makefile
  vendor/llvm/dist/lib/Target/XCore/TargetInfo/Makefile
  vendor/llvm/dist/lib/Transforms/Hello/Makefile
  vendor/llvm/dist/lib/Transforms/IPO/Inliner.cpp
  vendor/llvm/dist/lib/Transforms/IPO/Makefile
  vendor/llvm/dist/lib/Transforms/IPO/StripSymbols.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineCasts.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineShifts.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/Makefile
  vendor/llvm/dist/lib/Transforms/Instrumentation/Makefile
  vendor/llvm/dist/lib/Transforms/Instrumentation/OptimalEdgeProfiling.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/CodeGenPrepare.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/GVN.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/IndVarSimplify.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/Makefile
  vendor/llvm/dist/lib/Transforms/Scalar/ScalarReplAggregates.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/SimplifyLibCalls.cpp
  vendor/llvm/dist/lib/Transforms/Utils/BasicBlockUtils.cpp
  vendor/llvm/dist/lib/Transforms/Utils/Local.cpp
  vendor/llvm/dist/lib/Transforms/Utils/LoopSimplify.cpp
  vendor/llvm/dist/lib/Transforms/Utils/Makefile
  vendor/llvm/dist/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
  vendor/llvm/dist/lib/Transforms/Utils/ValueMapper.cpp
  vendor/llvm/dist/lib/VMCore/AsmWriter.cpp
  vendor/llvm/dist/lib/VMCore/Attributes.cpp
  vendor/llvm/dist/lib/VMCore/AutoUpgrade.cpp
  vendor/llvm/dist/lib/VMCore/CMakeLists.txt
  vendor/llvm/dist/lib/VMCore/ConstantFold.cpp
  vendor/llvm/dist/lib/VMCore/Constants.cpp
  vendor/llvm/dist/lib/VMCore/Instructions.cpp
  vendor/llvm/dist/lib/VMCore/IntrinsicInst.cpp
  vendor/llvm/dist/lib/VMCore/Makefile
  vendor/llvm/dist/lib/VMCore/Metadata.cpp
  vendor/llvm/dist/lib/VMCore/Pass.cpp
  vendor/llvm/dist/lib/VMCore/PassManager.cpp
  vendor/llvm/dist/lib/VMCore/Verifier.cpp
  vendor/llvm/dist/projects/CMakeLists.txt
  vendor/llvm/dist/projects/Makefile
  vendor/llvm/dist/test/Assembler/functionlocal-metadata.ll
  vendor/llvm/dist/test/CodeGen/ARM/indirectbr.ll
  vendor/llvm/dist/test/CodeGen/ARM/vbits.ll
  vendor/llvm/dist/test/CodeGen/CellSPU/call_indirect.ll
  vendor/llvm/dist/test/CodeGen/MSP430/bit.ll
  vendor/llvm/dist/test/CodeGen/MSP430/setcc.ll
  vendor/llvm/dist/test/CodeGen/PIC16/globals.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/2008-12-12-EH.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/sections.ll
  vendor/llvm/dist/test/CodeGen/Thumb/2009-12-17-pre-regalloc-taildup.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/2010-01-06-TailDuplicateLabels.ll
  vendor/llvm/dist/test/CodeGen/X86/2008-04-02-unnamedEH.ll
  vendor/llvm/dist/test/CodeGen/X86/2008-09-18-inline-asm-2.ll
  vendor/llvm/dist/test/CodeGen/X86/2008-12-19-EarlyClobberBug.ll
  vendor/llvm/dist/test/CodeGen/X86/2009-02-04-sext-i64-gep.ll
  vendor/llvm/dist/test/CodeGen/X86/2009-09-10-SpillComments.ll
  vendor/llvm/dist/test/CodeGen/X86/bss_pagealigned.ll
  vendor/llvm/dist/test/CodeGen/X86/full-lsr.ll
  vendor/llvm/dist/test/CodeGen/X86/global-sections.ll
  vendor/llvm/dist/test/CodeGen/X86/i128-and-beyond.ll
  vendor/llvm/dist/test/CodeGen/X86/loop-hoist.ll
  vendor/llvm/dist/test/CodeGen/X86/loop-strength-reduce4.ll
  vendor/llvm/dist/test/CodeGen/X86/pr3495-2.ll
  vendor/llvm/dist/test/CodeGen/X86/pr3495.ll
  vendor/llvm/dist/test/CodeGen/X86/ptrtoint-constexpr.ll
  vendor/llvm/dist/test/CodeGen/X86/remat-mov-0.ll
  vendor/llvm/dist/test/CodeGen/X86/remat-scalar-zero.ll
  vendor/llvm/dist/test/CodeGen/X86/splat-scalar-load.ll
  vendor/llvm/dist/test/CodeGen/X86/stride-reuse.ll
  vendor/llvm/dist/test/CodeGen/X86/tail-opts.ll
  vendor/llvm/dist/test/CodeGen/X86/unaligned-load.ll
  vendor/llvm/dist/test/CodeGen/X86/xor.ll
  vendor/llvm/dist/test/MC/AsmParser/X86/x86_instructions.s
  vendor/llvm/dist/test/MC/AsmParser/directive_ascii.s
  vendor/llvm/dist/test/MC/AsmParser/directive_lcomm.s
  vendor/llvm/dist/test/MC/AsmParser/directive_space.s
  vendor/llvm/dist/test/Transforms/ConstProp/constant-expr.ll
  vendor/llvm/dist/test/Transforms/IndVarSimplify/gep-with-mul-base.ll
  vendor/llvm/dist/test/Transforms/InstCombine/canonicalize_branch.ll
  vendor/llvm/dist/test/Transforms/InstCombine/signext.ll
  vendor/llvm/dist/test/Transforms/InstCombine/xor2.ll
  vendor/llvm/dist/test/Transforms/LoopStrengthReduce/change-compare-stride-trickiness-0.ll
  vendor/llvm/dist/test/Transforms/LoopStrengthReduce/change-compare-stride-trickiness-1.ll
  vendor/llvm/dist/test/Transforms/LoopStrengthReduce/related_indvars.ll
  vendor/llvm/dist/test/Transforms/Reassociate/inverses.ll
  vendor/llvm/dist/test/lit.cfg
  vendor/llvm/dist/tools/bugpoint/Miscompilation.cpp
  vendor/llvm/dist/tools/gold/Makefile
  vendor/llvm/dist/tools/llc/Makefile
  vendor/llvm/dist/tools/llc/llc.cpp
  vendor/llvm/dist/tools/lli/Makefile
  vendor/llvm/dist/tools/llvm-ar/Makefile
  vendor/llvm/dist/tools/llvm-as/Makefile
  vendor/llvm/dist/tools/llvm-bcanalyzer/Makefile
  vendor/llvm/dist/tools/llvm-config/Makefile
  vendor/llvm/dist/tools/llvm-config/llvm-config.in.in
  vendor/llvm/dist/tools/llvm-dis/Makefile
  vendor/llvm/dist/tools/llvm-extract/Makefile
  vendor/llvm/dist/tools/llvm-ld/Makefile
  vendor/llvm/dist/tools/llvm-link/Makefile
  vendor/llvm/dist/tools/llvm-mc/AsmLexer.cpp
  vendor/llvm/dist/tools/llvm-mc/AsmLexer.h
  vendor/llvm/dist/tools/llvm-mc/AsmParser.cpp
  vendor/llvm/dist/tools/llvm-mc/AsmParser.h
  vendor/llvm/dist/tools/llvm-mc/CMakeLists.txt
  vendor/llvm/dist/tools/llvm-mc/Makefile
  vendor/llvm/dist/tools/llvm-mc/llvm-mc.cpp
  vendor/llvm/dist/tools/llvm-nm/Makefile
  vendor/llvm/dist/tools/llvm-prof/Makefile
  vendor/llvm/dist/tools/lto/LTOCodeGenerator.cpp
  vendor/llvm/dist/tools/lto/LTOModule.cpp
  vendor/llvm/dist/tools/lto/Makefile
  vendor/llvm/dist/tools/opt/Makefile
  vendor/llvm/dist/tools/opt/opt.cpp
  vendor/llvm/dist/unittests/ExecutionEngine/JIT/JITEventListenerTest.cpp
  vendor/llvm/dist/unittests/ExecutionEngine/JIT/JITTest.cpp
  vendor/llvm/dist/unittests/VMCore/PassManagerTest.cpp
  vendor/llvm/dist/utils/TableGen/AsmMatcherEmitter.cpp
  vendor/llvm/dist/utils/buildit/build_llvm
  vendor/llvm/dist/utils/lit/lit/Test.py
  vendor/llvm/dist/utils/llvm.grm
  vendor/llvm/dist/utils/mkpatch
  vendor/llvm/dist/utils/vim/llvm.vim

Modified: vendor/llvm/dist/CMakeLists.txt
==============================================================================
--- vendor/llvm/dist/CMakeLists.txt	Sat Jan 23 08:45:22 2010	(r202877)
+++ vendor/llvm/dist/CMakeLists.txt	Sat Jan 23 11:09:33 2010	(r202878)
@@ -304,6 +304,7 @@ add_subdirectory(lib/Linker)
 add_subdirectory(lib/Analysis)
 add_subdirectory(lib/Analysis/IPA)
 add_subdirectory(lib/MC)
+add_subdirectory(lib/MC/MCParser)
 add_subdirectory(test)
 
 add_subdirectory(utils/FileCheck)

Modified: vendor/llvm/dist/Makefile
==============================================================================
--- vendor/llvm/dist/Makefile	Sat Jan 23 08:45:22 2010	(r202877)
+++ vendor/llvm/dist/Makefile	Sat Jan 23 11:09:33 2010	(r202878)
@@ -66,7 +66,8 @@ ifeq ($(MAKECMDGOALS),tools-only)
 endif
 
 ifeq ($(MAKECMDGOALS),install-clang)
-  DIRS := tools/clang/tools/driver tools/clang/lib/Headers tools/clang/docs
+  DIRS := tools/clang/tools/driver tools/clang/lib/Headers \
+          tools/clang/lib/Runtime tools/clang/docs
   OPTIONAL_DIRS :=
   NO_INSTALL = 1
 endif

Modified: vendor/llvm/dist/Makefile.rules
==============================================================================
--- vendor/llvm/dist/Makefile.rules	Sat Jan 23 08:45:22 2010	(r202877)
+++ vendor/llvm/dist/Makefile.rules	Sat Jan 23 11:09:33 2010	(r202878)
@@ -439,6 +439,17 @@ else
   endif
 endif
 
+ifeq ($(HOST_OS),MingW)
+  # Work around PR4957
+  CPP.Defines += -D__NO_CTYPE_INLINE
+  ifeq ($(LLVM_CROSS_COMPILING),1)
+    # Work around http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=525016
+    ifdef TOOLNAME
+      LD.Flags += -Wl,--allow-multiple-definition
+    endif
+  endif
+endif
+
 CXX.Flags     += -Woverloaded-virtual
 CPP.BaseFlags += $(CPP.Defines)
 AR.Flags      := cru
@@ -457,15 +468,6 @@ ifeq ($(ARCH),Alpha)
   LD.Flags += -Wl,--no-relax
 endif
 
-ifeq ($(HOST_OS),MingW)
-  ifeq ($(LLVM_CROSS_COMPILING),1)
-    # Work around http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=525016
-    ifdef TOOLNAME
-      LD.Flags += -Wl,--allow-multiple-definition
-    endif
-  endif
-endif
-
 ifdef ENABLE_EXPENSIVE_CHECKS
   # GNU libstdc++ uses RTTI if you define _GLIBCXX_DEBUG, which we did above.
   # See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40160
@@ -1351,17 +1353,17 @@ DEPEND_OPTIONS = -MMD -MP -MF "$(ObjDir)
 DEPEND_MOVEFILE = then $(MV) -f "$(ObjDir)/$*.d.tmp" "$(ObjDir)/$*.d"; \
                   else $(RM) "$(ObjDir)/$*.d.tmp"; exit 1; fi
 
-$(ObjDir)/%.o: %.cpp $(ObjDir)/.dir $(BUILT_SOURCES)
+$(ObjDir)/%.o: %.cpp $(ObjDir)/.dir $(BUILT_SOURCES) $(PROJ_SRC_DIR)/Makefile
 	$(Echo) "Compiling $*.cpp for $(BuildMode) build" $(PIC_FLAG)
 	$(Verb) if $(Compile.CXX) $(DEPEND_OPTIONS) $< -o $(ObjDir)/$*.o ; \
 	        $(DEPEND_MOVEFILE)
 
-$(ObjDir)/%.o: %.cc $(ObjDir)/.dir $(BUILT_SOURCES)
+$(ObjDir)/%.o: %.cc $(ObjDir)/.dir $(BUILT_SOURCES) $(PROJ_SRC_DIR)/Makefile
 	$(Echo) "Compiling $*.cc for $(BuildMode) build" $(PIC_FLAG)
 	$(Verb) if $(Compile.CXX) $(DEPEND_OPTIONS) $< -o $(ObjDir)/$*.o ; \
 	        $(DEPEND_MOVEFILE)
 
-$(ObjDir)/%.o: %.c $(ObjDir)/.dir $(BUILT_SOURCES)
+$(ObjDir)/%.o: %.c $(ObjDir)/.dir $(BUILT_SOURCES) $(PROJ_SRC_DIR)/Makefile
 	$(Echo) "Compiling $*.c for $(BuildMode) build" $(PIC_FLAG)
 	$(Verb) if $(Compile.C) $(DEPEND_OPTIONS) $< -o $(ObjDir)/$*.o ; \
 	        $(DEPEND_MOVEFILE)

Modified: vendor/llvm/dist/bindings/ocaml/llvm/llvm.ml
==============================================================================
--- vendor/llvm/dist/bindings/ocaml/llvm/llvm.ml	Sat Jan 23 08:45:22 2010	(r202877)
+++ vendor/llvm/dist/bindings/ocaml/llvm/llvm.ml	Sat Jan 23 11:09:33 2010	(r202878)
@@ -93,7 +93,6 @@ module Attribute = struct
   | Noredzone
   | Noimplicitfloat
   | Naked
-  | Inlinehint
 end
 
 module Icmp = struct
@@ -848,7 +847,7 @@ module ModuleProvider = struct
                   = "LLVMCreateModuleProviderForExistingModule"
   external dispose : llmoduleprovider -> unit = "llvm_dispose_module_provider"
 end
-  
+
 
 (*===-- Memory buffers ----------------------------------------------------===*)
 

Modified: vendor/llvm/dist/bindings/ocaml/llvm/llvm.mli
==============================================================================
--- vendor/llvm/dist/bindings/ocaml/llvm/llvm.mli	Sat Jan 23 08:45:22 2010	(r202877)
+++ vendor/llvm/dist/bindings/ocaml/llvm/llvm.mli	Sat Jan 23 11:09:33 2010	(r202878)
@@ -143,7 +143,6 @@ module Attribute : sig
   | Noredzone
   | Noimplicitfloat
   | Naked
-  | Inlinehint
 end
 
 (** The predicate for an integer comparison ([icmp]) instruction.

Modified: vendor/llvm/dist/bindings/ocaml/llvm/llvm_ocaml.c
==============================================================================
--- vendor/llvm/dist/bindings/ocaml/llvm/llvm_ocaml.c	Sat Jan 23 08:45:22 2010	(r202877)
+++ vendor/llvm/dist/bindings/ocaml/llvm/llvm_ocaml.c	Sat Jan 23 11:09:33 2010	(r202878)
@@ -112,9 +112,9 @@ CAMLprim LLVMContextRef llvm_global_cont
 
 /*===-- Modules -----------------------------------------------------------===*/
 
-/* string -> llmodule */
-CAMLprim LLVMModuleRef llvm_create_module(value ModuleID) {
-  return LLVMModuleCreateWithName(String_val(ModuleID));
+/* llcontext -> string -> llmodule */
+CAMLprim LLVMModuleRef llvm_create_module(LLVMContextRef C, value ModuleID) {
+  return LLVMModuleCreateWithNameInContext(String_val(ModuleID), C);
 }
 
 /* llmodule -> unit */

Modified: vendor/llvm/dist/cmake/modules/LLVMLibDeps.cmake
==============================================================================
--- vendor/llvm/dist/cmake/modules/LLVMLibDeps.cmake	Sat Jan 23 08:45:22 2010	(r202877)
+++ vendor/llvm/dist/cmake/modules/LLVMLibDeps.cmake	Sat Jan 23 11:09:33 2010	(r202878)
@@ -1,4 +1,4 @@
-set(MSVC_LIB_DEPS_LLVMARMAsmParser LLVMARMInfo LLVMMC)
+set(MSVC_LIB_DEPS_LLVMARMAsmParser LLVMARMInfo LLVMMCParser LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMARMAsmPrinter LLVMARMCodeGen LLVMARMInfo LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMARMCodeGen LLVMARMInfo LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMARMInfo LLVMSupport)
@@ -14,7 +14,7 @@ set(MSVC_LIB_DEPS_LLVMBitWriter LLVMCore
 set(MSVC_LIB_DEPS_LLVMBlackfinAsmPrinter LLVMAsmPrinter LLVMBlackfinInfo LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMBlackfinCodeGen LLVMBlackfinInfo LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMBlackfinInfo LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMCBackend LLVMAnalysis LLVMCBackendInfo LLVMCodeGen LLVMCore LLVMScalarOpts LLVMSupport LLVMSystem LLVMTarget LLVMTransformUtils LLVMipa)
+set(MSVC_LIB_DEPS_LLVMCBackend LLVMAnalysis LLVMCBackendInfo LLVMCodeGen LLVMCore LLVMMC LLVMScalarOpts LLVMSupport LLVMSystem LLVMTarget LLVMTransformUtils LLVMipa)
 set(MSVC_LIB_DEPS_LLVMCBackendInfo LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMCellSPUAsmPrinter LLVMAsmPrinter LLVMCellSPUInfo LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMCellSPUCodeGen LLVMCellSPUInfo LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMTarget)
@@ -27,9 +27,10 @@ set(MSVC_LIB_DEPS_LLVMExecutionEngine LL
 set(MSVC_LIB_DEPS_LLVMInstCombine LLVMAnalysis LLVMCore LLVMSupport LLVMSystem LLVMTarget LLVMTransformUtils)
 set(MSVC_LIB_DEPS_LLVMInstrumentation LLVMAnalysis LLVMCore LLVMSupport LLVMSystem LLVMTransformUtils)
 set(MSVC_LIB_DEPS_LLVMInterpreter LLVMCodeGen LLVMCore LLVMExecutionEngine LLVMSupport LLVMSystem LLVMTarget)
-set(MSVC_LIB_DEPS_LLVMJIT LLVMCodeGen LLVMCore LLVMExecutionEngine LLVMMC LLVMSupport LLVMSystem LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMJIT LLVMAnalysis LLVMCodeGen LLVMCore LLVMExecutionEngine LLVMMC LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMLinker LLVMArchive LLVMBitReader LLVMCore LLVMSupport LLVMSystem)
 set(MSVC_LIB_DEPS_LLVMMC LLVMSupport LLVMSystem)
+set(MSVC_LIB_DEPS_LLVMMCParser LLVMMC LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMMSIL LLVMAnalysis LLVMCodeGen LLVMCore LLVMMSILInfo LLVMScalarOpts LLVMSupport LLVMTarget LLVMTransformUtils LLVMipa)
 set(MSVC_LIB_DEPS_LLVMMSILInfo LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMMSP430AsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMMSP430Info LLVMSupport LLVMSystem LLVMTarget)
@@ -56,8 +57,8 @@ set(MSVC_LIB_DEPS_LLVMSystemZCodeGen LLV
 set(MSVC_LIB_DEPS_LLVMSystemZInfo LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMTarget LLVMCore LLVMMC LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMTransformUtils LLVMAnalysis LLVMCore LLVMSupport LLVMSystem LLVMTarget LLVMipa)
-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_LLVMX86AsmParser LLVMMC LLVMMCParser LLVMSupport LLVMX86Info)
+set(MSVC_LIB_DEPS_LLVMX86AsmPrinter LLVMAnalysis 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 LLVMMC LLVMSupport LLVMX86Info)
 set(MSVC_LIB_DEPS_LLVMX86Info LLVMSupport)

Modified: vendor/llvm/dist/docs/BitCodeFormat.html
==============================================================================
--- vendor/llvm/dist/docs/BitCodeFormat.html	Sat Jan 23 08:45:22 2010	(r202877)
+++ vendor/llvm/dist/docs/BitCodeFormat.html	Sat Jan 23 11:09:33 2010	(r202878)
@@ -138,8 +138,7 @@ bitcode, while application-specific prog
 A bitstream literally consists of a stream of bits, which are read in order
 starting with the least significant bit of each byte.  The stream is made up of a
 number of primitive values that encode a stream of unsigned integer values.
-These
-integers are are encoded in two ways: either as <a href="#fixedwidth">Fixed
+These integers are encoded in two ways: either as <a href="#fixedwidth">Fixed
 Width Integers</a> or as <a href="#variablewidth">Variable Width
 Integers</a>.
 </p>
@@ -1158,7 +1157,7 @@ fields of <tt>FUNCTION</tt> records.</p>
  src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"></a>
  <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-10-29 05:25:46 +0100 (Thu, 29 Oct 2009) $
+Last modified: $Date: 2010-01-20 18:53:51 +0100 (Wed, 20 Jan 2010) $
 </address>
 </body>
 </html>

Modified: vendor/llvm/dist/docs/LangRef.html
==============================================================================
--- vendor/llvm/dist/docs/LangRef.html	Sat Jan 23 08:45:22 2010	(r202877)
+++ vendor/llvm/dist/docs/LangRef.html	Sat Jan 23 11:09:33 2010	(r202878)
@@ -924,9 +924,9 @@ define [<a href="#linkage">linkage</a>] 
 
 <div class="doc_text">
 
-<p>Named metadata is a collection of metadata. <a href="#metadata"> Metadata </a>
-   node and null are the only valid named metadata operands. 
-   Metadata strings are not allowed as an named metadata operand.</p>
+<p>Named metadata is a collection of metadata. <a href="#metadata">Metadata
+   nodes</a> (but not metadata strings) and null are the only valid operands for
+   a named metadata.</p>
 
 <h5>Syntax:</h5>
 <div class="doc_code">
@@ -1083,11 +1083,6 @@ define void @f() optsize { ... }
       function into callers whenever possible, ignoring any active inlining size
       threshold for this caller.</dd>
 
-  <dt><tt><b>inlinehint</b></tt></dt>
-  <dd>This attribute indicates that the source code contained a hint that inlining
-      this function is desirable (such as the "inline" keyword in C/C++).  It
-      is just a hint; it imposes no requirements on the inliner.</dd>
-
   <dt><tt><b>noinline</b></tt></dt>
   <dd>This attribute indicates that the inliner should never inline this
       function in any situation. This attribute may not be used together with
@@ -2340,41 +2335,6 @@ has undefined behavior.</p>
 
 </div>
 
-<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="metadata">Metadata Nodes and Metadata Strings</a>
-</div>
-
-<div class="doc_text">
-
-<p>Metadata provides a way to attach arbitrary data to the instruction
-   stream without affecting the behaviour of the program.  There are two
-   metadata primitives, strings and nodes. All metadata has the
-   <tt>metadata</tt> type and is identified in syntax by a preceding exclamation
-   point ('<tt>!</tt>').</p>
-
-<p>A metadata string is a string surrounded by double quotes.  It can contain
-   any character by escaping non-printable characters with "\xx" where "xx" is
-   the two digit hex code.  For example: "<tt>!"test\00"</tt>".</p>
-
-<p>Metadata nodes are represented with notation similar to structure constants
-   (a comma separated list of elements, surrounded by braces and preceded by an
-   exclamation point).  For example: "<tt>!{ metadata !"test\00", i32
-   10}</tt>".</p>
-
-<p>A metadata node will attempt to track changes to the values it holds. In the
-   event that a value is deleted, it will be replaced with a typeless
-   "<tt>null</tt>", such as "<tt>metadata !{null, i32 10}</tt>".</p>
-
-<p>A <a href="#namedmetadatastructure">named metadata</a> is a collection of 
-   metadata nodes. For example: "<tt>!foo =  metadata !{!4, !3}</tt>".
-
-<p>Optimizations may rely on metadata to provide additional information about
-   the program that isn't available in the instructions, or that isn't easily
-   computable. Similarly, the code generator may expect a certain metadata
-   format to be used to express debugging information.</p>
-
-</div>
-
 <!-- *********************************************************************** -->
 <div class="doc_section"> <a name="othervalues">Other Values</a> </div>
 <!-- *********************************************************************** -->
@@ -2444,6 +2404,35 @@ call void asm alignstack "eieio", ""()
 
 </div>
 
+<!-- ======================================================================= -->
+<div class="doc_subsection"><a name="metadata">Metadata Nodes and Metadata
+  Strings</a>
+</div>
+
+<div class="doc_text">
+
+<p>LLVM IR allows metadata to be attached to instructions in the program that
+   can convey extra information about the code to the optimizers and code
+   generator.  One example application of metadata is source-level debug
+   information.  There are two metadata primitives: strings and nodes. All
+   metadata has the <tt>metadata</tt> type and is identified in syntax by a
+   preceding exclamation point ('<tt>!</tt>').</p>
+
+<p>A metadata string is a string surrounded by double quotes.  It can contain
+   any character by escaping non-printable characters with "\xx" where "xx" is
+   the two digit hex code.  For example: "<tt>!"test\00"</tt>".</p>
+
+<p>Metadata nodes are represented with notation similar to structure constants
+   (a comma separated list of elements, surrounded by braces and preceded by an
+   exclamation point).  For example: "<tt>!{ metadata !"test\00", i32
+   10}</tt>".  Metadata nodes can have any values as their operand.</p>
+
+<p>A <a href="#namedmetadatastructure">named metadata</a> is a collection of 
+   metadata nodes, which can be looked up in the module symbol table. For
+   example: "<tt>!foo =  metadata !{!4, !3}</tt>".
+
+</div>
+
 
 <!-- *********************************************************************** -->
 <div class="doc_section">
@@ -2840,6 +2829,9 @@ IfUnequal:
    block to the "normal" label. If the callee unwinds then no return value is
    available.</p>
 
+<p>Note that the code generator does not yet completely support unwind, and
+that the invoke/unwind semantics are likely to change in future versions.</p>
+
 <h5>Example:</h5>
 <pre>
   %retval = invoke i32 @Test(i32 15) to label %Continue
@@ -2876,6 +2868,9 @@ Instruction</a> </div>
    specified by the <tt>invoke</tt> instruction.  If there is no <tt>invoke</tt>
    instruction in the dynamic call chain, undefined behavior results.</p>
 
+<p>Note that the code generator does not yet completely support unwind, and
+that the invoke/unwind semantics are likely to change in future versions.</p>
+
 </div>
 
 <!-- _______________________________________________________________________ -->
@@ -7350,7 +7345,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: 2010-01-11 20:35:55 +0100 (Mon, 11 Jan 2010) $
+  Last modified: $Date: 2010-01-15 22:50:19 +0100 (Fri, 15 Jan 2010) $
 </address>
 
 </body>

Modified: vendor/llvm/dist/docs/ReleaseNotes.html
==============================================================================
--- vendor/llvm/dist/docs/ReleaseNotes.html	Sat Jan 23 08:45:22 2010	(r202877)
+++ vendor/llvm/dist/docs/ReleaseNotes.html	Sat Jan 23 11:09:33 2010	(r202878)
@@ -59,6 +59,7 @@ Almost dead code.
   lib/Transforms/IPO/MergeFunctions.cpp => consider for 2.8.
   llvm/Analysis/PointerTracking.h => Edwin wants this, consider for 2.8.
   ABCD, SCCVN, GEPSplitterPass
+  MSIL backend?
 -->
  
    
@@ -1349,7 +1350,7 @@ lists</a>.</p>
   src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"></a>
 
   <a href="http://llvm.org/">LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2010-01-09 23:30:40 +0100 (Sat, 09 Jan 2010) $
+  Last modified: $Date: 2010-01-16 22:25:13 +0100 (Sat, 16 Jan 2010) $
 </address>
 
 </body>

Modified: vendor/llvm/dist/include/llvm-c/Core.h
==============================================================================
--- vendor/llvm/dist/include/llvm-c/Core.h	Sat Jan 23 08:45:22 2010	(r202877)
+++ vendor/llvm/dist/include/llvm-c/Core.h	Sat Jan 23 11:09:33 2010	(r202878)
@@ -117,8 +117,7 @@ typedef enum {
     LLVMNoCaptureAttribute  = 1<<21,
     LLVMNoRedZoneAttribute  = 1<<22,
     LLVMNoImplicitFloatAttribute = 1<<23,
-    LLVMNakedAttribute      = 1<<24,
-    LLVMInlineHintAttribute = 1<<25
+    LLVMNakedAttribute      = 1<<24
 } LLVMAttribute;
 
 typedef enum {
@@ -1008,7 +1007,7 @@ namespace llvm {
                                                         \
     template<typename T>                                \
     inline T *unwrap(ref P) {                           \
-      T *Q = dynamic_cast<T*>(unwrap(P));               \
+      T *Q = (T*)unwrap(P);                             \
       assert(Q && "Invalid cast!");                     \
       return Q;                                         \
     }

Modified: vendor/llvm/dist/include/llvm/ADT/DenseMapInfo.h
==============================================================================
--- vendor/llvm/dist/include/llvm/ADT/DenseMapInfo.h	Sat Jan 23 08:45:22 2010	(r202877)
+++ vendor/llvm/dist/include/llvm/ADT/DenseMapInfo.h	Sat Jan 23 11:09:33 2010	(r202878)
@@ -92,6 +92,19 @@ template<> struct DenseMapInfo<unsigned 
   }
 };
 
+// Provide DenseMapInfo for long longs.
+template<> struct DenseMapInfo<long long> {
+  static inline long long getEmptyKey() { return 0x7fffffffffffffffLL; }
+  static inline long long getTombstoneKey() { return -0x7fffffffffffffffLL-1; }
+  static unsigned getHashValue(const long long& Val) {
+    return (unsigned)(Val * 37LL);
+  }
+  static bool isEqual(const long long& LHS,
+                      const long long& RHS) {
+    return LHS == RHS;
+  }
+};
+
 // Provide DenseMapInfo for all pairs whose members have info.
 template<typename T, typename U>
 struct DenseMapInfo<std::pair<T, U> > {

Modified: vendor/llvm/dist/include/llvm/ADT/ImmutableMap.h
==============================================================================
--- vendor/llvm/dist/include/llvm/ADT/ImmutableMap.h	Sat Jan 23 08:45:22 2010	(r202877)
+++ vendor/llvm/dist/include/llvm/ADT/ImmutableMap.h	Sat Jan 23 11:09:33 2010	(r202878)
@@ -217,7 +217,7 @@ public:
   // Utility methods.
   //===--------------------------------------------------===//
 
-  inline unsigned getHeight() const { return Root ? Root->getHeight() : 0; }
+  unsigned getHeight() const { return Root ? Root->getHeight() : 0; }
 
   static inline void Profile(FoldingSetNodeID& ID, const ImmutableMap& M) {
     ID.AddPointer(M.Root);

Modified: vendor/llvm/dist/include/llvm/ADT/ImmutableSet.h
==============================================================================
--- vendor/llvm/dist/include/llvm/ADT/ImmutableSet.h	Sat Jan 23 08:45:22 2010	(r202877)
+++ vendor/llvm/dist/include/llvm/ADT/ImmutableSet.h	Sat Jan 23 11:09:33 2010	(r202878)
@@ -51,13 +51,11 @@ public:
 
   /// getLeft - Returns a pointer to the left subtree.  This value
   ///  is NULL if there is no left subtree.
-  ImutAVLTree *getLeft() const {
-    return reinterpret_cast<ImutAVLTree*>(Left & ~LeftFlags);
-  }
+  ImutAVLTree *getLeft() const { return Left; }
 
   /// getRight - Returns a pointer to the right subtree.  This value is
   ///  NULL if there is no right subtree.
-  ImutAVLTree* getRight() const { return Right; }
+  ImutAVLTree *getRight() const { return Right; }
 
   /// getHeight - Returns the height of the tree.  A tree with no subtrees
   ///  has a height of 1.
@@ -190,23 +188,22 @@ public:
     unsigned HL = getLeft() ? getLeft()->verify() : 0;
     unsigned HR = getRight() ? getRight()->verify() : 0;
 
-    assert (getHeight() == ( HL > HR ? HL : HR ) + 1
-            && "Height calculation wrong.");
-
-    assert ((HL > HR ? HL-HR : HR-HL) <= 2
-            && "Balancing invariant violated.");
-
-
-    assert (!getLeft()
-            || ImutInfo::isLess(ImutInfo::KeyOfValue(getLeft()->getValue()),
-                                ImutInfo::KeyOfValue(getValue()))
-            && "Value in left child is not less that current value.");
+    assert(getHeight() == ( HL > HR ? HL : HR ) + 1
+            && "Height calculation wrong");
 
+    assert((HL > HR ? HL-HR : HR-HL) <= 2
+           && "Balancing invariant violated");
 
-    assert (!getRight()
-            || ImutInfo::isLess(ImutInfo::KeyOfValue(getValue()),
-                                ImutInfo::KeyOfValue(getRight()->getValue()))
-            && "Current value is not less that value of right child.");
+    assert(!getLeft()
+           || ImutInfo::isLess(ImutInfo::KeyOfValue(getLeft()->getValue()),
+                               ImutInfo::KeyOfValue(getValue()))
+           && "Value in left child is not less that current value");
+
+
+    assert(!getRight()
+           || ImutInfo::isLess(ImutInfo::KeyOfValue(getValue()),
+                               ImutInfo::KeyOfValue(getRight()->getValue()))
+           && "Current value is not less that value of right child");
 
     return getHeight();
   }
@@ -221,9 +218,11 @@ public:
   //===----------------------------------------------------===//
 
 private:
-  uintptr_t        Left;
+  ImutAVLTree*     Left;
   ImutAVLTree*     Right;
-  unsigned         Height;
+  unsigned         Height       : 28;
+  unsigned         Mutable      : 1;
+  unsigned         CachedDigest : 1;
   value_type       Value;
   uint32_t         Digest;
 
@@ -232,15 +231,12 @@ private:
   //===----------------------------------------------------===//
 
 private:
-
-  enum { Mutable = 0x1, NoCachedDigest = 0x2, LeftFlags = 0x3 };
-
   /// ImutAVLTree - Internal constructor that is only called by
   ///   ImutAVLFactory.
-  ImutAVLTree(ImutAVLTree* l, ImutAVLTree* r, value_type_ref v, unsigned height)
-  : Left(reinterpret_cast<uintptr_t>(l) | (Mutable | NoCachedDigest)),
-    Right(r), Height(height), Value(v), Digest(0) {}
-
+  ImutAVLTree(ImutAVLTree* l, ImutAVLTree* r, value_type_ref v,
+              unsigned height)
+    : Left(l), Right(r), Height(height), Mutable(true), CachedDigest(false),
+      Value(v), Digest(0) {}
 
   /// isMutable - Returns true if the left and right subtree references
   ///  (as well as height) can be changed.  If this method returns false,
@@ -248,11 +244,11 @@ private:
   ///  object should always have this method return true.  Further, if this
   ///  method returns false for an instance of ImutAVLTree, all subtrees
   ///  will also have this method return false.  The converse is not true.
-  bool isMutable() const { return Left & Mutable; }
+  bool isMutable() const { return Mutable; }
   
   /// hasCachedDigest - Returns true if the digest for this tree is cached.
   ///  This can only be true if the tree is immutable.
-  bool hasCachedDigest() const { return !(Left & NoCachedDigest); }
+  bool hasCachedDigest() const { return CachedDigest; }
 
   //===----------------------------------------------------===//
   // Mutating operations.  A tree root can be manipulated as
@@ -269,13 +265,13 @@ private:
   ///   it is an error to call setLeft(), setRight(), and setHeight().
   void MarkImmutable() {
     assert(isMutable() && "Mutable flag already removed.");
-    Left &= ~Mutable;
+    Mutable = false;
   }
   
   /// MarkedCachedDigest - Clears the NoCachedDigest flag for a tree.
   void MarkedCachedDigest() {
     assert(!hasCachedDigest() && "NoCachedDigest flag already removed.");
-    Left &= ~NoCachedDigest;
+    CachedDigest = true;
   }
 
   /// setLeft - Changes the reference of the left subtree.  Used internally
@@ -283,7 +279,8 @@ private:
   void setLeft(ImutAVLTree* NewLeft) {
     assert(isMutable() &&
            "Only a mutable tree can have its left subtree changed.");
-    Left = reinterpret_cast<uintptr_t>(NewLeft) | LeftFlags;
+    Left = NewLeft;
+    CachedDigest = false;
   }
 
   /// setRight - Changes the reference of the right subtree.  Used internally
@@ -293,9 +290,7 @@ private:
            "Only a mutable tree can have its right subtree changed.");
 
     Right = NewRight;
-    // Set the NoCachedDigest flag.
-    Left = Left | NoCachedDigest;
-
+    CachedDigest = false;
   }
 
   /// setHeight - Changes the height of the tree.  Used internally by
@@ -397,7 +392,7 @@ public:
 private:
 
   bool           isEmpty(TreeTy* T) const { return !T; }
-  unsigned        Height(TreeTy* T) const { return T ? T->getHeight() : 0; }
+  unsigned Height(TreeTy* T) const { return T ? T->getHeight() : 0; }
   TreeTy*           Left(TreeTy* T) const { return T->getLeft(); }
   TreeTy*          Right(TreeTy* T) const { return T->getRight(); }
   value_type_ref   Value(TreeTy* T) const { return T->Value; }
@@ -405,7 +400,7 @@ private:
   unsigned IncrementHeight(TreeTy* L, TreeTy* R) const {
     unsigned hl = Height(L);
     unsigned hr = Height(R);
-    return ( hl > hr ? hl : hr ) + 1;
+    return (hl > hr ? hl : hr) + 1;
   }
 
   static bool CompareTreeWithSection(TreeTy* T,
@@ -434,17 +429,17 @@ private:
   TreeTy* CreateNode(TreeTy* L, value_type_ref V, TreeTy* R) {   
     BumpPtrAllocator& A = getAllocator();
     TreeTy* T = (TreeTy*) A.Allocate<TreeTy>();
-    new (T) TreeTy(L,R,V,IncrementHeight(L,R));
+    new (T) TreeTy(L, R, V, IncrementHeight(L,R));
     return T;
   }
 
   TreeTy* CreateNode(TreeTy* L, TreeTy* OldTree, TreeTy* R) {
-    assert (!isEmpty(OldTree));
+    assert(!isEmpty(OldTree));
 
     if (OldTree->isMutable()) {
       OldTree->setLeft(L);
       OldTree->setRight(R);
-      OldTree->setHeight(IncrementHeight(L,R));
+      OldTree->setHeight(IncrementHeight(L, R));
       return OldTree;
     }
     else
@@ -459,8 +454,7 @@ private:
     unsigned hr = Height(R);
 
     if (hl > hr + 2) {
-      assert (!isEmpty(L) &&
-              "Left tree cannot be empty to have a height >= 2.");
+      assert(!isEmpty(L) && "Left tree cannot be empty to have a height >= 2");
 
       TreeTy* LL = Left(L);
       TreeTy* LR = Right(L);
@@ -468,8 +462,7 @@ private:
       if (Height(LL) >= Height(LR))
         return CreateNode(LL, L, CreateNode(LR,V,R));
 
-      assert (!isEmpty(LR) &&
-              "LR cannot be empty because it has a height >= 1.");
+      assert(!isEmpty(LR) && "LR cannot be empty because it has a height >= 1");
 
       TreeTy* LRL = Left(LR);
       TreeTy* LRR = Right(LR);
@@ -477,8 +470,7 @@ private:
       return CreateNode(CreateNode(LL,L,LRL), LR, CreateNode(LRR,V,R));
     }
     else if (hr > hl + 2) {
-      assert (!isEmpty(R) &&
-              "Right tree cannot be empty to have a height >= 2.");
+      assert(!isEmpty(R) && "Right tree cannot be empty to have a height >= 2");
 
       TreeTy* RL = Left(R);
       TreeTy* RR = Right(R);
@@ -486,8 +478,7 @@ private:
       if (Height(RR) >= Height(RL))
         return CreateNode(CreateNode(L,V,RL), R, RR);
 
-      assert (!isEmpty(RL) &&
-              "RL cannot be empty because it has a height >= 1.");
+      assert(!isEmpty(RL) && "RL cannot be empty because it has a height >= 1");
 
       TreeTy* RLL = Left(RL);
       TreeTy* RLR = Right(RL);
@@ -505,7 +496,7 @@ private:
     if (isEmpty(T))
       return CreateNode(T, V, T);
 
-    assert (!T->isMutable());
+    assert(!T->isMutable());
 
     key_type_ref K = ImutInfo::KeyOfValue(V);
     key_type_ref KCurrent = ImutInfo::KeyOfValue(Value(T));
@@ -526,7 +517,7 @@ private:
     if (isEmpty(T))
       return T;
 
-    assert (!T->isMutable());
+    assert(!T->isMutable());
 
     key_type_ref KCurrent = ImutInfo::KeyOfValue(Value(T));
 
@@ -548,7 +539,7 @@ private:
   }
 
   TreeTy* RemoveMinBinding(TreeTy* T, TreeTy*& NodeRemoved) {
-    assert (!isEmpty(T));
+    assert(!isEmpty(T));
 
     if (isEmpty(Left(T))) {
       NodeRemoved = T;
@@ -641,12 +632,12 @@ public:
   }
 
   TreeTy* operator*() const {
-    assert (!stack.empty());
+    assert(!stack.empty());
     return reinterpret_cast<TreeTy*>(stack.back() & ~Flags);
   }
 
   uintptr_t getVisitState() {
-    assert (!stack.empty());
+    assert(!stack.empty());
     return stack.back() & Flags;
   }
 
@@ -658,7 +649,7 @@ public:
   }
 
   void SkipToParent() {
-    assert (!stack.empty());
+    assert(!stack.empty());
     stack.pop_back();
 
     if (stack.empty())
@@ -672,7 +663,7 @@ public:
         stack.back() |= VisitedRight;
         break;
       default:
-        assert (false && "Unreachable.");
+        assert(false && "Unreachable.");
     }
   }
 
@@ -690,10 +681,10 @@ public:
   inline bool operator!=(const _Self& x) const { return !operator==(x); }
 
   _Self& operator++() {
-    assert (!stack.empty());
+    assert(!stack.empty());
 
     TreeTy* Current = reinterpret_cast<TreeTy*>(stack.back() & ~Flags);
-    assert (Current);
+    assert(Current);
 
     switch (getVisitState()) {
       case VisitedNone:
@@ -717,17 +708,17 @@ public:
         break;
 
       default:
-        assert (false && "Unreachable.");
+        assert(false && "Unreachable.");
     }
 
     return *this;
   }
 
   _Self& operator--() {
-    assert (!stack.empty());
+    assert(!stack.empty());
 
     TreeTy* Current = reinterpret_cast<TreeTy*>(stack.back() & ~Flags);
-    assert (Current);
+    assert(Current);
 
     switch (getVisitState()) {
       case VisitedNone:
@@ -752,7 +743,7 @@ public:
         break;
 
       default:
-        assert (false && "Unreachable.");
+        assert(false && "Unreachable.");
     }
 
     return *this;
@@ -1051,7 +1042,7 @@ public:
   // Utility methods.
   //===--------------------------------------------------===//
 
-  inline unsigned getHeight() const { return Root ? Root->getHeight() : 0; }
+  unsigned getHeight() const { return Root ? Root->getHeight() : 0; }
 
   static inline void Profile(FoldingSetNodeID& ID, const ImmutableSet& S) {
     ID.AddPointer(S.Root);

Added: vendor/llvm/dist/include/llvm/Analysis/DOTGraphTraitsPass.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/llvm/dist/include/llvm/Analysis/DOTGraphTraitsPass.h	Sat Jan 23 11:09:33 2010	(r202878)
@@ -0,0 +1,83 @@
+//===-- DOTGraphTraitsPass.h - Print/View dotty graphs-----------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// Templates to create dotty viewer and printer passes for GraphTraits graphs.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_ANALYSIS_DOT_GRAPHTRAITS_PASS_H
+#define LLVM_ANALYSIS_DOT_GRAPHTRAITS_PASS_H
+
+#include "llvm/Pass.h"
+#include "llvm/Analysis/CFGPrinter.h"
+
+namespace llvm {
+template <class Analysis, bool Simple>
+struct DOTGraphTraitsViewer : public FunctionPass {
+  std::string Name;
+
+  DOTGraphTraitsViewer(std::string GraphName, const void *ID) : FunctionPass(ID) {
+    Name = GraphName;
+  }
+
+  virtual bool runOnFunction(Function &F) {
+    Analysis *Graph;
+    std::string Title, GraphName;
+    Graph = &getAnalysis<Analysis>();
+    GraphName = DOTGraphTraits<Analysis*>::getGraphName(Graph);
+    Title = GraphName + " for '" + F.getNameStr() + "' function";
+    ViewGraph(Graph, Name, Simple, Title);
+
+    return false;
+  }
+
+  virtual void getAnalysisUsage(AnalysisUsage &AU) const {
+    AU.setPreservesAll();
+    AU.addRequired<Analysis>();
+  }
+};
+
+template <class Analysis, bool Simple>
+struct DOTGraphTraitsPrinter : public FunctionPass {
+
+  std::string Name;
+
+  DOTGraphTraitsPrinter(std::string GraphName, const void *ID)
+    : FunctionPass(ID) {
+    Name = GraphName;
+  }
+
+  virtual bool runOnFunction(Function &F) {
+    Analysis *Graph;
+    std::string Filename = Name + "." + F.getNameStr() + ".dot";
+    errs() << "Writing '" << Filename << "'...";
+
+    std::string ErrorInfo;
+    raw_fd_ostream File(Filename.c_str(), ErrorInfo);
+    Graph = &getAnalysis<Analysis>();
+
+    std::string Title, GraphName;
+    GraphName = DOTGraphTraits<Analysis*>::getGraphName(Graph);
+    Title = GraphName + " for '" + F.getNameStr() + "' function";
+
+    if (ErrorInfo.empty())
+      WriteGraph(File, Graph, Simple, Name, Title);
+    else
+      errs() << "  error opening file for writing!";
+    errs() << "\n";
+    return false;
+  }
+
+  virtual void getAnalysisUsage(AnalysisUsage &AU) const {
+    AU.setPreservesAll();
+    AU.addRequired<Analysis>();
+  }
+};
+}
+#endif

Modified: vendor/llvm/dist/include/llvm/Analysis/DebugInfo.h
==============================================================================
--- vendor/llvm/dist/include/llvm/Analysis/DebugInfo.h	Sat Jan 23 08:45:22 2010	(r202877)
+++ vendor/llvm/dist/include/llvm/Analysis/DebugInfo.h	Sat Jan 23 11:09:33 2010	(r202878)
@@ -475,7 +475,7 @@ namespace llvm {
   /// is not associated with any DWARF tag.
   class DILocation : public DIDescriptor {
   public:
-    explicit DILocation(MDNode *N) : DIDescriptor(N) { ; }
+    explicit DILocation(MDNode *N) : DIDescriptor(N) { }
 
     unsigned getLineNumber() const     { return getUnsignedField(0); }
     unsigned getColumnNumber() const   { return getUnsignedField(1); }
@@ -587,7 +587,7 @@ namespace llvm {
                                   StringRef DisplayName,
                                   StringRef LinkageName,
                                   DICompileUnit CompileUnit, unsigned LineNo,
-                                  DIType Type, bool isLocalToUnit,
+                                  DIType Ty, bool isLocalToUnit,
                                   bool isDefinition,
                                   unsigned VK = 0,
                                   unsigned VIndex = 0,
@@ -603,21 +603,21 @@ namespace llvm {
                          StringRef DisplayName,
                          StringRef LinkageName,
                          DICompileUnit CompileUnit,
-                         unsigned LineNo, DIType Type, bool isLocalToUnit,
+                         unsigned LineNo, DIType Ty, bool isLocalToUnit,
                          bool isDefinition, llvm::GlobalVariable *GV);
 
     /// CreateVariable - Create a new descriptor for the specified variable.
     DIVariable CreateVariable(unsigned Tag, DIDescriptor Context,
                               StringRef Name,
                               DICompileUnit CompileUnit, unsigned LineNo,
-                              DIType Type);
+                              DIType Ty);
 
     /// CreateComplexVariable - Create a new descriptor for the specified
     /// variable which has a complex address expression for its address.
     DIVariable CreateComplexVariable(unsigned Tag, DIDescriptor Context,
                                      const std::string &Name,
                                      DICompileUnit CompileUnit, unsigned LineNo,
-                                     DIType Type,
+                                     DIType Ty,
                                      SmallVector<Value *, 9> &addr);
 
     /// CreateLexicalBlock - This creates a descriptor for a lexical block
@@ -656,13 +656,6 @@ namespace llvm {
     Constant *GetTagConstant(unsigned TAG);
   };
 
-  /// Finds the dbg.declare intrinsic corresponding to this value if any.
-  /// It looks through pointer casts too.
-  const DbgDeclareInst *findDbgDeclare(const Value *V);
-
-  /// Find the debug info descriptor corresponding to this global variable.
-  Value *findDbgGlobalDeclare(GlobalVariable *V);
-
   bool getLocationInfo(const Value *V, std::string &DisplayName,
                        std::string &Type, unsigned &LineNo, std::string &File,
                        std::string &Dir);

Modified: vendor/llvm/dist/include/llvm/Analysis/DominatorInternals.h
==============================================================================
--- vendor/llvm/dist/include/llvm/Analysis/DominatorInternals.h	Sat Jan 23 08:45:22 2010	(r202877)
+++ vendor/llvm/dist/include/llvm/Analysis/DominatorInternals.h	Sat Jan 23 11:09:33 2010	(r202878)
@@ -262,29 +262,17 @@ void Calculate(DominatorTreeBase<typenam
                                                                      DT.Info[W];
 
     // Step #2: Calculate the semidominators of all vertices
-    bool HasChildOutsideDFS = false;
 
     // initialize the semi dominator to point to the parent node
     WInfo.Semi = WInfo.Parent;
     for (typename GraphTraits<Inverse<NodeT> >::ChildIteratorType CI =
          GraphTraits<Inverse<NodeT> >::child_begin(W),
-         E = GraphTraits<Inverse<NodeT> >::child_end(W); CI != E; ++CI) {
+         E = GraphTraits<Inverse<NodeT> >::child_end(W); CI != E; ++CI)
       if (DT.Info.count(*CI)) {  // Only if this predecessor is reachable!
         unsigned SemiU = DT.Info[Eval<GraphT>(DT, *CI)].Semi;
         if (SemiU < WInfo.Semi)
           WInfo.Semi = SemiU;
       }
-      else {
-        // if the child has no DFS number it is not post-dominated by any exit, 
-        // and so is the current block.
-        HasChildOutsideDFS = true;
-      }
-    }
-
-    // if some child has no DFS number it is not post-dominated by any exit, 
-    // and so is the current block.
-    if (DT.isPostDominator() && HasChildOutsideDFS)
-      WInfo.Semi = 0;
 
     DT.Info[DT.Vertex[WInfo.Semi]].Bucket.push_back(W);
 

Modified: vendor/llvm/dist/include/llvm/Analysis/IVUsers.h
==============================================================================
--- vendor/llvm/dist/include/llvm/Analysis/IVUsers.h	Sat Jan 23 08:45:22 2010	(r202877)
+++ vendor/llvm/dist/include/llvm/Analysis/IVUsers.h	Sat Jan 23 11:09:33 2010	(r202878)
@@ -212,6 +212,11 @@ public:
   /// value of the OperandValToReplace of the given IVStrideUse.
   const SCEV *getReplacementExpr(const IVStrideUse &U) const;
 
+  /// getCanonicalExpr - Return a SCEV expression which computes the
+  /// value of the SCEV of the given IVStrideUse, ignoring the 
+  /// isUseOfPostIncrementedValue flag.
+  const SCEV *getCanonicalExpr(const IVStrideUse &U) const;
+
   void print(raw_ostream &OS, const Module* = 0) const;
 
   /// dump - This method is used for debugging.

Modified: vendor/llvm/dist/include/llvm/Analysis/LoopPass.h
==============================================================================
--- vendor/llvm/dist/include/llvm/Analysis/LoopPass.h	Sat Jan 23 08:45:22 2010	(r202877)
+++ vendor/llvm/dist/include/llvm/Analysis/LoopPass.h	Sat Jan 23 11:09:33 2010	(r202878)
@@ -28,8 +28,8 @@ class PMStack;
 
 class LoopPass : public Pass {
 public:
-  explicit LoopPass(intptr_t pid) : Pass(pid) {}
-  explicit LoopPass(void *pid) : Pass(pid) {}
+  explicit LoopPass(intptr_t pid) : Pass(PT_Loop, pid) {}
+  explicit LoopPass(void *pid) : Pass(PT_Loop, pid) {}
 
   // runOnLoop - This method should be implemented by the subclass to perform
   // whatever action is necessary for the specified Loop.
@@ -94,6 +94,9 @@ public:
     return "Loop Pass Manager";
   }
 
+  virtual PMDataManager *getAsPMDataManager() { return this; }
+  virtual Pass *getAsPass() { return this; }
+
   /// Print passes managed by this manager
   void dumpPassStructure(unsigned Offset);
 

Modified: vendor/llvm/dist/include/llvm/Analysis/ScalarEvolution.h
==============================================================================
--- vendor/llvm/dist/include/llvm/Analysis/ScalarEvolution.h	Sat Jan 23 08:45:22 2010	(r202877)
+++ vendor/llvm/dist/include/llvm/Analysis/ScalarEvolution.h	Sat Jan 23 11:09:33 2010	(r202878)
@@ -167,7 +167,7 @@ namespace llvm {
     };
 
     friend class SCEVCallbackVH;
-    friend struct SCEVExpander;
+    friend class SCEVExpander;
 
     /// F - The function we are analyzing.
     ///
@@ -181,6 +181,10 @@ namespace llvm {
     ///
     TargetData *TD;
 
+    /// DT - The dominator tree.
+    ///
+    DominatorTree *DT;
+
     /// CouldNotCompute - This SCEV is used to represent unknown trip
     /// counts and things.
     SCEVCouldNotCompute CouldNotCompute;

Modified: vendor/llvm/dist/include/llvm/Analysis/ScalarEvolutionExpander.h
==============================================================================
--- vendor/llvm/dist/include/llvm/Analysis/ScalarEvolutionExpander.h	Sat Jan 23 08:45:22 2010	(r202877)
+++ vendor/llvm/dist/include/llvm/Analysis/ScalarEvolutionExpander.h	Sat Jan 23 11:09:33 2010	(r202878)
@@ -26,19 +26,47 @@ namespace llvm {
   /// Clients should create an instance of this class when rewriting is needed,
   /// and destroy it when finished to allow the release of the associated
   /// memory.
-  struct SCEVExpander : public SCEVVisitor<SCEVExpander, Value*> {
+  class SCEVExpander : public SCEVVisitor<SCEVExpander, Value*> {
+  public:
     ScalarEvolution &SE;
+
+  private:
     std::map<std::pair<const SCEV *, Instruction *>, AssertingVH<Value> >
       InsertedExpressions;
     std::set<Value*> InsertedValues;
 
+    /// PostIncLoop - When non-null, expanded addrecs referring to the given
+    /// loop expanded in post-inc mode. For example, expanding {1,+,1}<L> in
+    /// post-inc mode returns the add instruction that adds one to the phi
+    /// for {0,+,1}<L>, as opposed to a new phi starting at 1. This is only
+    /// supported in non-canonical mode.
+    const Loop *PostIncLoop;
+
+    /// IVIncInsertPos - When this is non-null, addrecs expanded in the
+    /// loop it indicates should be inserted with increments at
+    /// IVIncInsertPos.
+    const Loop *IVIncInsertLoop;
+
+    /// IVIncInsertPos - When expanding addrecs in the IVIncInsertLoop loop,
+    /// insert the IV increment at this position.
+    Instruction *IVIncInsertPos;
+
+    /// CanonicalMode - When true, expressions are expanded in "canonical"
+    /// form. In particular, addrecs are expanded as arithmetic based on
+    /// a canonical induction variable. When false, expression are expanded
+    /// in a more literal form.
+    bool CanonicalMode;
+
+  protected:
     typedef IRBuilder<true, TargetFolder> BuilderType;

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


More information about the svn-src-all mailing list