svn commit: r205218 - in vendor/llvm/dist: . autoconf cmake
cmake/modules docs examples/OCaml-Kaleidoscope
examples/OCaml-Kaleidoscope/Chapter2
examples/OCaml-Kaleidoscope/Chapter3 examples/OCaml-K...
Roman Divacky
rdivacky at FreeBSD.org
Tue Mar 16 16:51:39 UTC 2010
Author: rdivacky
Date: Tue Mar 16 16:51:38 2010
New Revision: 205218
URL: http://svn.freebsd.org/changeset/base/205218
Log:
Update LLVM to r98631.
Added:
vendor/llvm/dist/examples/OCaml-Kaleidoscope/
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter2/
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter2/Makefile
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter2/_tags
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter2/ast.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter2/lexer.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter2/parser.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter2/token.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter2/toplevel.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter2/toy.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter3/
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter3/Makefile
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter3/_tags
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter3/ast.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter3/codegen.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter3/lexer.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter3/myocamlbuild.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter3/parser.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter3/token.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter3/toplevel.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter3/toy.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter4/
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter4/Makefile
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter4/_tags
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter4/ast.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter4/bindings.c
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter4/codegen.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter4/lexer.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter4/myocamlbuild.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter4/parser.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter4/token.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter4/toplevel.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter4/toy.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter5/
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter5/Makefile
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter5/_tags
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter5/ast.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter5/bindings.c
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter5/codegen.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter5/lexer.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter5/myocamlbuild.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter5/parser.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter5/token.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter5/toplevel.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter5/toy.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter6/
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter6/Makefile
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter6/_tags
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter6/ast.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter6/bindings.c
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter6/codegen.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter6/lexer.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter6/myocamlbuild.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter6/parser.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter6/token.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter6/toplevel.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter6/toy.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter7/
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter7/Makefile
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter7/_tags
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter7/ast.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter7/bindings.c
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter7/codegen.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter7/lexer.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter7/myocamlbuild.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter7/parser.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter7/token.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter7/toplevel.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter7/toy.ml
vendor/llvm/dist/examples/OCaml-Kaleidoscope/Makefile
vendor/llvm/dist/include/llvm/MC/MCAsmLayout.h
vendor/llvm/dist/include/llvm/System/Valgrind.h
vendor/llvm/dist/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h
vendor/llvm/dist/lib/System/SearchForAddressOfSpecialSymbol.cpp
vendor/llvm/dist/lib/System/Valgrind.cpp
vendor/llvm/dist/test/CodeGen/ARM/fp16.ll
vendor/llvm/dist/test/CodeGen/Generic/addr-label.ll
vendor/llvm/dist/test/CodeGen/Thumb2/2010-03-15-AsmCCClobber.ll
vendor/llvm/dist/test/CodeGen/X86/2007-02-16-BranchFold.ll
vendor/llvm/dist/test/CodeGen/X86/2007-05-05-Personality.ll
vendor/llvm/dist/test/CodeGen/X86/GC/
vendor/llvm/dist/test/CodeGen/X86/GC/alloc_loop.ll
vendor/llvm/dist/test/CodeGen/X86/GC/argpromotion.ll
vendor/llvm/dist/test/CodeGen/X86/GC/badreadproto.ll
vendor/llvm/dist/test/CodeGen/X86/GC/badrootproto.ll
vendor/llvm/dist/test/CodeGen/X86/GC/badwriteproto.ll
vendor/llvm/dist/test/CodeGen/X86/GC/deadargelim.ll
vendor/llvm/dist/test/CodeGen/X86/GC/dg.exp
vendor/llvm/dist/test/CodeGen/X86/GC/fat.ll
vendor/llvm/dist/test/CodeGen/X86/GC/inline.ll
vendor/llvm/dist/test/CodeGen/X86/GC/inline2.ll
vendor/llvm/dist/test/CodeGen/X86/GC/lower_gcroot.ll
vendor/llvm/dist/test/CodeGen/X86/GC/outside.ll
vendor/llvm/dist/test/CodeGen/X86/GC/simple_ocaml.ll
vendor/llvm/dist/test/CodeGen/X86/gather-addresses.ll
vendor/llvm/dist/test/CodeGen/X86/ghc-cc.ll
vendor/llvm/dist/test/CodeGen/X86/ghc-cc64.ll
vendor/llvm/dist/test/CodeGen/X86/liveness-local-regalloc.ll
vendor/llvm/dist/test/CodeGen/X86/phys_subreg_coalesce-3.ll
vendor/llvm/dist/test/DebugInfo/2010-03-12-llc-crash.ll
vendor/llvm/dist/test/FrontendC/2010-03-10-arm-asmreg.c
vendor/llvm/dist/test/MC/AsmParser/X86/x86_32-mismatched-add.s
vendor/llvm/dist/test/MC/AsmParser/X86/x86_64-operands.s
vendor/llvm/dist/test/MC/MachO/absolutize.s
vendor/llvm/dist/test/MC/MachO/relax-jumps.s
vendor/llvm/dist/test/MC/MachO/relax-recompute-align.s
vendor/llvm/dist/test/MC/MachO/reloc-pcrel-offset.s
vendor/llvm/dist/test/MC/MachO/x86_32-sections.s
vendor/llvm/dist/test/MC/MachO/x86_32-symbols.s
vendor/llvm/dist/test/MC/MachO/x86_64-sections.s
vendor/llvm/dist/test/MC/MachO/x86_64-symbols.s
vendor/llvm/dist/test/Transforms/InstCombine/gepgep.ll
vendor/llvm/dist/unittests/VMCore/InstructionsTest.cpp
Deleted:
vendor/llvm/dist/lib/CodeGen/SelectionDAG/SDDbgValue.h
vendor/llvm/dist/lib/Target/X86/X86MCTargetExpr.cpp
vendor/llvm/dist/lib/Target/X86/X86MCTargetExpr.h
vendor/llvm/dist/test/CodeGen/Generic/2007-02-16-BranchFold.ll
vendor/llvm/dist/test/CodeGen/Generic/2007-05-05-Personality.ll
vendor/llvm/dist/test/CodeGen/Generic/GC/
vendor/llvm/dist/test/MC/MachO/sections.s
Modified:
vendor/llvm/dist/Makefile.rules
vendor/llvm/dist/autoconf/configure.ac
vendor/llvm/dist/cmake/config-ix.cmake
vendor/llvm/dist/cmake/modules/LLVMLibDeps.cmake
vendor/llvm/dist/configure
vendor/llvm/dist/docs/CodeGenerator.html
vendor/llvm/dist/docs/LangRef.html
vendor/llvm/dist/include/llvm-c/Transforms/Scalar.h
vendor/llvm/dist/include/llvm/ADT/STLExtras.h
vendor/llvm/dist/include/llvm/Analysis/InlineCost.h
vendor/llvm/dist/include/llvm/Analysis/LoopInfo.h
vendor/llvm/dist/include/llvm/CallingConv.h
vendor/llvm/dist/include/llvm/CodeGen/AsmPrinter.h
vendor/llvm/dist/include/llvm/CodeGen/GCMetadata.h
vendor/llvm/dist/include/llvm/CodeGen/GCMetadataPrinter.h
vendor/llvm/dist/include/llvm/CodeGen/JITCodeEmitter.h
vendor/llvm/dist/include/llvm/CodeGen/LiveIntervalAnalysis.h
vendor/llvm/dist/include/llvm/CodeGen/MachineBasicBlock.h
vendor/llvm/dist/include/llvm/CodeGen/MachineCodeEmitter.h
vendor/llvm/dist/include/llvm/CodeGen/MachineFunction.h
vendor/llvm/dist/include/llvm/CodeGen/MachineInstrBuilder.h
vendor/llvm/dist/include/llvm/CodeGen/MachineJumpTableInfo.h
vendor/llvm/dist/include/llvm/CodeGen/MachineLocation.h
vendor/llvm/dist/include/llvm/CodeGen/MachineModuleInfo.h
vendor/llvm/dist/include/llvm/CodeGen/MachineModuleInfoImpls.h
vendor/llvm/dist/include/llvm/CodeGen/MachineOperand.h
vendor/llvm/dist/include/llvm/CodeGen/ObjectCodeEmitter.h
vendor/llvm/dist/include/llvm/CodeGen/RuntimeLibcalls.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/CodeGen/TargetLoweringObjectFileImpl.h
vendor/llvm/dist/include/llvm/Config/config.h.cmake
vendor/llvm/dist/include/llvm/Config/config.h.in
vendor/llvm/dist/include/llvm/Instructions.h
vendor/llvm/dist/include/llvm/Intrinsics.td
vendor/llvm/dist/include/llvm/MC/MCAsmInfo.h
vendor/llvm/dist/include/llvm/MC/MCAssembler.h
vendor/llvm/dist/include/llvm/MC/MCContext.h
vendor/llvm/dist/include/llvm/MC/MCExpr.h
vendor/llvm/dist/include/llvm/MC/MCParser/AsmParser.h
vendor/llvm/dist/include/llvm/MC/MCParser/MCAsmParser.h
vendor/llvm/dist/include/llvm/MC/MCSection.h
vendor/llvm/dist/include/llvm/MC/MCSectionELF.h
vendor/llvm/dist/include/llvm/MC/MCSectionMachO.h
vendor/llvm/dist/include/llvm/MC/MCStreamer.h
vendor/llvm/dist/include/llvm/MC/MCSymbol.h
vendor/llvm/dist/include/llvm/Metadata.h
vendor/llvm/dist/include/llvm/OperandTraits.h
vendor/llvm/dist/include/llvm/Support/MemoryBuffer.h
vendor/llvm/dist/include/llvm/Target/Mangler.h
vendor/llvm/dist/include/llvm/Target/TargetAsmBackend.h
vendor/llvm/dist/include/llvm/Target/TargetLowering.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/Target/TargetSelectionDAG.td
vendor/llvm/dist/include/llvm/Transforms/Utils/BuildLibCalls.h
vendor/llvm/dist/lib/Analysis/ConstantFolding.cpp
vendor/llvm/dist/lib/Analysis/InlineCost.cpp
vendor/llvm/dist/lib/Analysis/LoopInfo.cpp
vendor/llvm/dist/lib/Analysis/ValueTracking.cpp
vendor/llvm/dist/lib/CodeGen/AsmPrinter/AsmPrinter.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/OcamlGCPrinter.cpp
vendor/llvm/dist/lib/CodeGen/BranchFolding.cpp
vendor/llvm/dist/lib/CodeGen/ELFCodeEmitter.h
vendor/llvm/dist/lib/CodeGen/ELFWriter.cpp
vendor/llvm/dist/lib/CodeGen/GCMetadata.cpp
vendor/llvm/dist/lib/CodeGen/GCMetadataPrinter.cpp
vendor/llvm/dist/lib/CodeGen/GCStrategy.cpp
vendor/llvm/dist/lib/CodeGen/LLVMTargetMachine.cpp
vendor/llvm/dist/lib/CodeGen/LiveIntervalAnalysis.cpp
vendor/llvm/dist/lib/CodeGen/MachineBasicBlock.cpp
vendor/llvm/dist/lib/CodeGen/MachineCSE.cpp
vendor/llvm/dist/lib/CodeGen/MachineFunction.cpp
vendor/llvm/dist/lib/CodeGen/MachineFunctionAnalysis.cpp
vendor/llvm/dist/lib/CodeGen/MachineInstr.cpp
vendor/llvm/dist/lib/CodeGen/MachineModuleInfo.cpp
vendor/llvm/dist/lib/CodeGen/MachineModuleInfoImpls.cpp
vendor/llvm/dist/lib/CodeGen/RegAllocLocal.cpp
vendor/llvm/dist/lib/CodeGen/ScheduleDAGInstrs.cpp
vendor/llvm/dist/lib/CodeGen/ScheduleDAGInstrs.h
vendor/llvm/dist/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
vendor/llvm/dist/lib/CodeGen/SelectionDAG/FastISel.cpp
vendor/llvm/dist/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
vendor/llvm/dist/lib/CodeGen/SelectionDAG/InstrEmitter.h
vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeTypes.h
vendor/llvm/dist/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
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/SelectionDAG/TargetLowering.cpp
vendor/llvm/dist/lib/CodeGen/SimpleRegisterCoalescing.cpp
vendor/llvm/dist/lib/CodeGen/TailDuplication.cpp
vendor/llvm/dist/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
vendor/llvm/dist/lib/CodeGen/UnreachableBlockElim.cpp
vendor/llvm/dist/lib/CodeGen/VirtRegRewriter.cpp
vendor/llvm/dist/lib/ExecutionEngine/JIT/JITDebugRegisterer.cpp
vendor/llvm/dist/lib/ExecutionEngine/JIT/JITDwarfEmitter.cpp
vendor/llvm/dist/lib/ExecutionEngine/JIT/JITEmitter.cpp
vendor/llvm/dist/lib/MC/MCAsmInfo.cpp
vendor/llvm/dist/lib/MC/MCAsmInfoCOFF.cpp
vendor/llvm/dist/lib/MC/MCAsmStreamer.cpp
vendor/llvm/dist/lib/MC/MCAssembler.cpp
vendor/llvm/dist/lib/MC/MCContext.cpp
vendor/llvm/dist/lib/MC/MCExpr.cpp
vendor/llvm/dist/lib/MC/MCMachOStreamer.cpp
vendor/llvm/dist/lib/MC/MCParser/AsmLexer.cpp
vendor/llvm/dist/lib/MC/MCParser/AsmParser.cpp
vendor/llvm/dist/lib/Support/MemoryBuffer.cpp
vendor/llvm/dist/lib/System/CMakeLists.txt
vendor/llvm/dist/lib/System/DynamicLibrary.cpp
vendor/llvm/dist/lib/System/Memory.cpp
vendor/llvm/dist/lib/System/Unix/Program.inc
vendor/llvm/dist/lib/System/Win32/Path.inc
vendor/llvm/dist/lib/Target/ARM/ARM.td
vendor/llvm/dist/lib/Target/ARM/ARMBaseInstrInfo.h
vendor/llvm/dist/lib/Target/ARM/ARMBaseRegisterInfo.cpp
vendor/llvm/dist/lib/Target/ARM/ARMCodeEmitter.cpp
vendor/llvm/dist/lib/Target/ARM/ARMConstantIslandPass.cpp
vendor/llvm/dist/lib/Target/ARM/ARMISelLowering.cpp
vendor/llvm/dist/lib/Target/ARM/ARMISelLowering.h
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/ARMLoadStoreOptimizer.cpp
vendor/llvm/dist/lib/Target/ARM/ARMSubtarget.cpp
vendor/llvm/dist/lib/Target/ARM/ARMSubtarget.h
vendor/llvm/dist/lib/Target/ARM/ARMTargetObjectFile.cpp
vendor/llvm/dist/lib/Target/ARM/ARMTargetObjectFile.h
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.h
vendor/llvm/dist/lib/Target/ARM/AsmPrinter/ARMMCInstLower.cpp
vendor/llvm/dist/lib/Target/ARM/AsmPrinter/Makefile
vendor/llvm/dist/lib/Target/ARM/Thumb1InstrInfo.cpp
vendor/llvm/dist/lib/Target/ARM/Thumb1RegisterInfo.cpp
vendor/llvm/dist/lib/Target/ARM/Thumb2SizeReduction.cpp
vendor/llvm/dist/lib/Target/Alpha/AlphaInstrInfo.td
vendor/llvm/dist/lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp
vendor/llvm/dist/lib/Target/Alpha/AsmPrinter/Makefile
vendor/llvm/dist/lib/Target/Blackfin/AsmPrinter/BlackfinAsmPrinter.cpp
vendor/llvm/dist/lib/Target/Blackfin/AsmPrinter/Makefile
vendor/llvm/dist/lib/Target/CBackend/CBackend.cpp
vendor/llvm/dist/lib/Target/CellSPU/AsmPrinter/Makefile
vendor/llvm/dist/lib/Target/CellSPU/AsmPrinter/SPUAsmPrinter.cpp
vendor/llvm/dist/lib/Target/CellSPU/CellSDKIntrinsics.td
vendor/llvm/dist/lib/Target/CellSPU/SPU64InstrInfo.td
vendor/llvm/dist/lib/Target/CellSPU/SPUInstrInfo.td
vendor/llvm/dist/lib/Target/CellSPU/SPUOperands.td
vendor/llvm/dist/lib/Target/CellSPU/SPURegisterInfo.cpp
vendor/llvm/dist/lib/Target/MBlaze/AsmPrinter/MBlazeAsmPrinter.cpp
vendor/llvm/dist/lib/Target/MBlaze/AsmPrinter/Makefile
vendor/llvm/dist/lib/Target/MSP430/AsmPrinter/MSP430AsmPrinter.cpp
vendor/llvm/dist/lib/Target/MSP430/AsmPrinter/MSP430MCInstLower.cpp
vendor/llvm/dist/lib/Target/MSP430/AsmPrinter/Makefile
vendor/llvm/dist/lib/Target/Mangler.cpp
vendor/llvm/dist/lib/Target/Mips/AsmPrinter/Makefile
vendor/llvm/dist/lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp
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/PowerPC/AsmPrinter/Makefile
vendor/llvm/dist/lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp
vendor/llvm/dist/lib/Target/PowerPC/PPCCodeEmitter.cpp
vendor/llvm/dist/lib/Target/PowerPC/PPCISelLowering.cpp
vendor/llvm/dist/lib/Target/PowerPC/PPCRegisterInfo.cpp
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/SystemZ/AsmPrinter/Makefile
vendor/llvm/dist/lib/Target/SystemZ/AsmPrinter/SystemZAsmPrinter.cpp
vendor/llvm/dist/lib/Target/TargetLoweringObjectFile.cpp
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/X86AsmPrinter.cpp
vendor/llvm/dist/lib/Target/X86/AsmPrinter/X86AsmPrinter.h
vendor/llvm/dist/lib/Target/X86/AsmPrinter/X86MCInstLower.cpp
vendor/llvm/dist/lib/Target/X86/CMakeLists.txt
vendor/llvm/dist/lib/Target/X86/Disassembler/Makefile
vendor/llvm/dist/lib/Target/X86/TargetInfo/Makefile
vendor/llvm/dist/lib/Target/X86/X86.h
vendor/llvm/dist/lib/Target/X86/X86.td
vendor/llvm/dist/lib/Target/X86/X86AsmBackend.cpp
vendor/llvm/dist/lib/Target/X86/X86COFFMachineModuleInfo.cpp
vendor/llvm/dist/lib/Target/X86/X86COFFMachineModuleInfo.h
vendor/llvm/dist/lib/Target/X86/X86CallingConv.td
vendor/llvm/dist/lib/Target/X86/X86CodeEmitter.cpp
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/X86ISelLowering.h
vendor/llvm/dist/lib/Target/X86/X86Instr64bit.td
vendor/llvm/dist/lib/Target/X86/X86InstrFPStack.td
vendor/llvm/dist/lib/Target/X86/X86InstrInfo.cpp
vendor/llvm/dist/lib/Target/X86/X86InstrInfo.td
vendor/llvm/dist/lib/Target/X86/X86InstrMMX.td
vendor/llvm/dist/lib/Target/X86/X86InstrSSE.td
vendor/llvm/dist/lib/Target/X86/X86JITInfo.cpp
vendor/llvm/dist/lib/Target/X86/X86MCAsmInfo.cpp
vendor/llvm/dist/lib/Target/X86/X86RegisterInfo.cpp
vendor/llvm/dist/lib/Target/X86/X86RegisterInfo.h
vendor/llvm/dist/lib/Target/X86/X86RegisterInfo.td
vendor/llvm/dist/lib/Target/X86/X86Subtarget.cpp
vendor/llvm/dist/lib/Target/X86/X86Subtarget.h
vendor/llvm/dist/lib/Target/X86/X86TargetObjectFile.cpp
vendor/llvm/dist/lib/Target/X86/X86TargetObjectFile.h
vendor/llvm/dist/lib/Target/XCore/AsmPrinter/Makefile
vendor/llvm/dist/lib/Target/XCore/AsmPrinter/XCoreAsmPrinter.cpp
vendor/llvm/dist/lib/Target/XCore/README.txt
vendor/llvm/dist/lib/Target/XCore/XCoreISelDAGToDAG.cpp
vendor/llvm/dist/lib/Target/XCore/XCoreISelLowering.cpp
vendor/llvm/dist/lib/Target/XCore/XCoreISelLowering.h
vendor/llvm/dist/lib/Target/XCore/XCoreInstrInfo.cpp
vendor/llvm/dist/lib/Target/XCore/XCoreMachineFunctionInfo.h
vendor/llvm/dist/lib/Target/XCore/XCoreRegisterInfo.cpp
vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineCalls.cpp
vendor/llvm/dist/lib/Transforms/Scalar/CodeGenPrepare.cpp
vendor/llvm/dist/lib/Transforms/Scalar/IndVarSimplify.cpp
vendor/llvm/dist/lib/Transforms/Scalar/LoopUnrollPass.cpp
vendor/llvm/dist/lib/Transforms/Scalar/LoopUnswitch.cpp
vendor/llvm/dist/lib/Transforms/Scalar/Scalar.cpp
vendor/llvm/dist/lib/Transforms/Scalar/SimplifyCFGPass.cpp
vendor/llvm/dist/lib/Transforms/Utils/BuildLibCalls.cpp
vendor/llvm/dist/lib/Transforms/Utils/LCSSA.cpp
vendor/llvm/dist/lib/Transforms/Utils/LoopSimplify.cpp
vendor/llvm/dist/lib/Transforms/Utils/LoopUnroll.cpp
vendor/llvm/dist/lib/Transforms/Utils/SimplifyCFG.cpp
vendor/llvm/dist/lib/VMCore/IntrinsicInst.cpp
vendor/llvm/dist/lib/VMCore/LLVMContextImpl.h
vendor/llvm/dist/lib/VMCore/Metadata.cpp
vendor/llvm/dist/lib/VMCore/Type.cpp
vendor/llvm/dist/test/CMakeLists.txt
vendor/llvm/dist/test/CodeGen/ARM/indirectbr.ll
vendor/llvm/dist/test/CodeGen/Generic/2007-04-13-SwitchLowerBadPhi.ll
vendor/llvm/dist/test/CodeGen/Generic/2007-11-21-UndeadIllegalNode.ll
vendor/llvm/dist/test/CodeGen/Generic/2007-12-17-InvokeAsm.ll
vendor/llvm/dist/test/CodeGen/Generic/2007-12-31-UnusedSelector.ll
vendor/llvm/dist/test/CodeGen/Generic/2008-08-07-PtrToInt-SmallerInt.ll
vendor/llvm/dist/test/CodeGen/Generic/2009-11-16-BadKillsCrash.ll
vendor/llvm/dist/test/CodeGen/PowerPC/2008-10-31-PPCF128Libcalls.ll
vendor/llvm/dist/test/CodeGen/PowerPC/indirectbr.ll
vendor/llvm/dist/test/CodeGen/PowerPC/ppc-prologue.ll
vendor/llvm/dist/test/CodeGen/X86/2004-03-30-Select-Max.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/clz.ll
vendor/llvm/dist/test/CodeGen/X86/crash.ll
vendor/llvm/dist/test/CodeGen/X86/object-size.ll
vendor/llvm/dist/test/CodeGen/X86/personality.ll
vendor/llvm/dist/test/CodeGen/X86/pic.ll
vendor/llvm/dist/test/CodeGen/X86/tailcall-largecode.ll
vendor/llvm/dist/test/CodeGen/X86/tailcallfp2.ll
vendor/llvm/dist/test/CodeGen/XCore/addsub64.ll
vendor/llvm/dist/test/CodeGen/XCore/indirectbr.ll
vendor/llvm/dist/test/CodeGen/XCore/mul64.ll
vendor/llvm/dist/test/MC/AsmParser/X86/x86_32-bit.s
vendor/llvm/dist/test/MC/AsmParser/X86/x86_32-bit_cat.s
vendor/llvm/dist/test/MC/AsmParser/X86/x86_32-encoding.s
vendor/llvm/dist/test/MC/AsmParser/X86/x86_32-new-encoder.s
vendor/llvm/dist/test/MC/AsmParser/X86/x86_64-new-encoder.s
vendor/llvm/dist/test/MC/MachO/Darwin/x86_32_diff_as.s
vendor/llvm/dist/test/MC/MachO/symbols-1.s
vendor/llvm/dist/test/Other/constant-fold-gep.ll
vendor/llvm/dist/test/Scripts/macho-dump
vendor/llvm/dist/test/Transforms/InstCombine/shift-sra.ll
vendor/llvm/dist/tools/bugpoint/ExecutionDriver.cpp
vendor/llvm/dist/tools/bugpoint/ToolRunner.cpp
vendor/llvm/dist/tools/bugpoint/ToolRunner.h
vendor/llvm/dist/tools/edis/EDDisassembler.cpp
vendor/llvm/dist/tools/llvm-mc/llvm-mc.cpp
vendor/llvm/dist/tools/lto/LTOCodeGenerator.cpp
vendor/llvm/dist/tools/lto/LTOModule.cpp
vendor/llvm/dist/unittests/Transforms/Utils/Cloning.cpp
vendor/llvm/dist/unittests/VMCore/MetadataTest.cpp
vendor/llvm/dist/unittests/VMCore/PassManagerTest.cpp
vendor/llvm/dist/unittests/VMCore/VerifierTest.cpp
vendor/llvm/dist/utils/TableGen/CodeGenDAGPatterns.cpp
vendor/llvm/dist/utils/TableGen/CodeGenDAGPatterns.h
vendor/llvm/dist/utils/TableGen/CodeGenTarget.cpp
vendor/llvm/dist/utils/TableGen/CodeGenTarget.h
vendor/llvm/dist/utils/TableGen/DAGISelEmitter.cpp
vendor/llvm/dist/utils/TableGen/DAGISelMatcherGen.cpp
vendor/llvm/dist/utils/TableGen/DAGISelMatcherOpt.cpp
vendor/llvm/dist/utils/TableGen/EDEmitter.cpp
vendor/llvm/dist/utils/TableGen/FastISelEmitter.cpp
vendor/llvm/dist/utils/TableGen/X86RecognizableInstr.cpp
vendor/llvm/dist/utils/lit/lit/TestFormats.py
vendor/llvm/dist/utils/mkpatch
Modified: vendor/llvm/dist/Makefile.rules
==============================================================================
--- vendor/llvm/dist/Makefile.rules Tue Mar 16 16:48:58 2010 (r205217)
+++ vendor/llvm/dist/Makefile.rules Tue Mar 16 16:51:38 2010 (r205218)
@@ -1329,7 +1329,7 @@ uninstall-local::
# TOOLALIAS install.
ifdef TOOLALIAS
-DestToolAlias = $(PROJ_bindir)/$(TOOLALIAS)$(EXEEXT)
+DestToolAlias = $(DESTDIR)$(PROJ_bindir)/$(TOOLALIAS)$(EXEEXT)
install-local:: $(DestToolAlias)
Modified: vendor/llvm/dist/autoconf/configure.ac
==============================================================================
--- vendor/llvm/dist/autoconf/configure.ac Tue Mar 16 16:48:58 2010 (r205217)
+++ vendor/llvm/dist/autoconf/configure.ac Tue Mar 16 16:51:38 2010 (r205218)
@@ -1210,6 +1210,7 @@ AC_CHECK_HEADERS([malloc.h setjmp.h sign
AC_CHECK_HEADERS([utime.h windows.h])
AC_CHECK_HEADERS([sys/mman.h sys/param.h sys/resource.h sys/time.h])
AC_CHECK_HEADERS([sys/types.h sys/ioctl.h malloc/malloc.h mach/mach.h])
+AC_CHECK_HEADERS([valgrind/valgrind.h])
if test "$ENABLE_THREADS" -eq 1 ; then
AC_CHECK_HEADERS(pthread.h,
AC_SUBST(HAVE_PTHREAD, 1),
Modified: vendor/llvm/dist/cmake/config-ix.cmake
==============================================================================
--- vendor/llvm/dist/cmake/config-ix.cmake Tue Mar 16 16:48:58 2010 (r205217)
+++ vendor/llvm/dist/cmake/config-ix.cmake Tue Mar 16 16:51:38 2010 (r205218)
@@ -67,6 +67,7 @@ check_include_file(sys/wait.h HAVE_SYS_W
check_include_file(termios.h HAVE_TERMIOS_H)
check_include_file(unistd.h HAVE_UNISTD_H)
check_include_file(utime.h HAVE_UTIME_H)
+check_include_file(valgrind/valgrind.h HAVE_VALGRIND_VALGRIND_H)
check_include_file(windows.h HAVE_WINDOWS_H)
# library checks
Modified: vendor/llvm/dist/cmake/modules/LLVMLibDeps.cmake
==============================================================================
--- vendor/llvm/dist/cmake/modules/LLVMLibDeps.cmake Tue Mar 16 16:48:58 2010 (r205217)
+++ vendor/llvm/dist/cmake/modules/LLVMLibDeps.cmake Tue Mar 16 16:51:38 2010 (r205218)
@@ -1,8 +1,8 @@
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_LLVMARMAsmPrinter LLVMARMCodeGen LLVMARMInfo LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget)
set(MSVC_LIB_DEPS_LLVMARMCodeGen LLVMARMInfo LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget)
set(MSVC_LIB_DEPS_LLVMARMInfo LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMAlphaAsmPrinter LLVMAlphaInfo LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMAlphaAsmPrinter LLVMAlphaInfo LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget)
set(MSVC_LIB_DEPS_LLVMAlphaCodeGen LLVMAlphaInfo LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget)
set(MSVC_LIB_DEPS_LLVMAlphaInfo LLVMSupport)
set(MSVC_LIB_DEPS_LLVMAnalysis LLVMCore LLVMSupport LLVMSystem LLVMTarget)
@@ -11,12 +11,12 @@ set(MSVC_LIB_DEPS_LLVMAsmParser LLVMCore
set(MSVC_LIB_DEPS_LLVMAsmPrinter LLVMAnalysis LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMTarget)
set(MSVC_LIB_DEPS_LLVMBitReader LLVMCore LLVMSupport)
set(MSVC_LIB_DEPS_LLVMBitWriter LLVMCore LLVMSupport LLVMSystem)
-set(MSVC_LIB_DEPS_LLVMBlackfinAsmPrinter LLVMAsmPrinter LLVMBlackfinInfo LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMBlackfinAsmPrinter LLVMAsmPrinter LLVMBlackfinInfo LLVMCodeGen LLVMCore LLVMMC LLVMSupport 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 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_LLVMCellSPUAsmPrinter LLVMAsmPrinter LLVMCellSPUInfo LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget)
set(MSVC_LIB_DEPS_LLVMCellSPUCodeGen LLVMCellSPUInfo LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMTarget)
set(MSVC_LIB_DEPS_LLVMCellSPUInfo LLVMSupport)
set(MSVC_LIB_DEPS_LLVMCodeGen LLVMAnalysis LLVMCore LLVMMC LLVMScalarOpts LLVMSupport LLVMSystem LLVMTarget LLVMTransformUtils)
@@ -29,41 +29,44 @@ set(MSVC_LIB_DEPS_LLVMInstrumentation LL
set(MSVC_LIB_DEPS_LLVMInterpreter LLVMCodeGen LLVMCore LLVMExecutionEngine 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_LLVMMBlazeAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMBlazeCodeGen LLVMMBlazeInfo LLVMMC LLVMSupport LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMMBlazeCodeGen LLVMCodeGen LLVMCore LLVMMBlazeInfo LLVMMC LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMMBlazeInfo LLVMSupport)
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)
+set(MSVC_LIB_DEPS_LLVMMSP430AsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMMSP430Info LLVMSupport LLVMTarget)
set(MSVC_LIB_DEPS_LLVMMSP430CodeGen LLVMCodeGen LLVMCore LLVMMC LLVMMSP430Info LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget)
set(MSVC_LIB_DEPS_LLVMMSP430Info LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMMipsAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMMipsCodeGen LLVMMipsInfo LLVMSupport LLVMSystem LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMMipsAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMMipsCodeGen LLVMMipsInfo LLVMSupport LLVMTarget)
set(MSVC_LIB_DEPS_LLVMMipsCodeGen LLVMCodeGen LLVMCore LLVMMC LLVMMipsInfo LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget)
set(MSVC_LIB_DEPS_LLVMMipsInfo LLVMSupport)
set(MSVC_LIB_DEPS_LLVMPIC16 LLVMAnalysis LLVMCodeGen LLVMCore LLVMMC LLVMPIC16Info LLVMSelectionDAG LLVMSupport LLVMTarget)
set(MSVC_LIB_DEPS_LLVMPIC16AsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMPIC16 LLVMPIC16Info LLVMSupport LLVMTarget)
set(MSVC_LIB_DEPS_LLVMPIC16Info LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMPowerPCAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMPowerPCInfo LLVMSupport LLVMSystem LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMPowerPCAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMPowerPCInfo LLVMSupport LLVMTarget)
set(MSVC_LIB_DEPS_LLVMPowerPCCodeGen LLVMCodeGen LLVMCore LLVMMC LLVMPowerPCInfo LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget)
set(MSVC_LIB_DEPS_LLVMPowerPCInfo LLVMSupport)
set(MSVC_LIB_DEPS_LLVMScalarOpts LLVMAnalysis LLVMCore LLVMInstCombine LLVMSupport LLVMSystem LLVMTarget LLVMTransformUtils)
-set(MSVC_LIB_DEPS_LLVMSelectionDAG LLVMAnalysis LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMSupport LLVMSystem LLVMTarget)
-set(MSVC_LIB_DEPS_LLVMSparcAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSparcInfo LLVMSupport LLVMSystem LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMSelectionDAG LLVMAnalysis LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMSparcAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSparcInfo LLVMSupport LLVMTarget)
set(MSVC_LIB_DEPS_LLVMSparcCodeGen LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSparcInfo LLVMSupport LLVMSystem LLVMTarget)
set(MSVC_LIB_DEPS_LLVMSparcInfo LLVMSupport)
set(MSVC_LIB_DEPS_LLVMSupport LLVMSystem)
set(MSVC_LIB_DEPS_LLVMSystem )
-set(MSVC_LIB_DEPS_LLVMSystemZAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMSystemZInfo LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMSystemZAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystemZInfo LLVMTarget)
set(MSVC_LIB_DEPS_LLVMSystemZCodeGen LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMSystemZInfo LLVMTarget)
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 LLVMMCParser LLVMSupport LLVMX86Info)
-set(MSVC_LIB_DEPS_LLVMX86AsmPrinter LLVMAnalysis LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMTarget LLVMX86CodeGen LLVMX86Info)
+set(MSVC_LIB_DEPS_LLVMX86AsmParser LLVMMC LLVMMCParser LLVMSupport LLVMTarget LLVMX86Info)
+set(MSVC_LIB_DEPS_LLVMX86AsmPrinter LLVMAnalysis LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport 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)
set(MSVC_LIB_DEPS_LLVMXCore LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMTarget LLVMXCoreInfo)
-set(MSVC_LIB_DEPS_LLVMXCoreAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMTarget LLVMXCoreInfo)
+set(MSVC_LIB_DEPS_LLVMXCoreAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget LLVMXCoreInfo)
set(MSVC_LIB_DEPS_LLVMXCoreInfo LLVMSupport)
set(MSVC_LIB_DEPS_LLVMipa LLVMAnalysis LLVMCore LLVMSupport LLVMSystem)
set(MSVC_LIB_DEPS_LLVMipo LLVMAnalysis LLVMCore LLVMSupport LLVMSystem LLVMTarget LLVMTransformUtils LLVMipa)
Modified: vendor/llvm/dist/configure
==============================================================================
--- vendor/llvm/dist/configure Tue Mar 16 16:48:58 2010 (r205217)
+++ vendor/llvm/dist/configure Tue Mar 16 16:51:38 2010 (r205218)
@@ -16177,6 +16177,175 @@ fi
done
+
+for ac_header in valgrind/valgrind.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+ else
+ ac_cpp_err=
+ fi
+else
+ ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
+## ----------------------------------- ##
+## Report this to llvmbugs at cs.uiuc.edu ##
+## ----------------------------------- ##
+_ASBOX
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
if test "$ENABLE_THREADS" -eq 1 ; then
for ac_header in pthread.h
Modified: vendor/llvm/dist/docs/CodeGenerator.html
==============================================================================
--- vendor/llvm/dist/docs/CodeGenerator.html Tue Mar 16 16:48:58 2010 (r205217)
+++ vendor/llvm/dist/docs/CodeGenerator.html Tue Mar 16 16:51:38 2010 (r205218)
@@ -1679,7 +1679,8 @@ $ llc -regalloc=linearscan file.bc -o ln
supported on x86/x86-64 and PowerPC. It is performed if:</p>
<ul>
- <li>Caller and callee have the calling convention <tt>fastcc</tt>.</li>
+ <li>Caller and callee have the calling convention <tt>fastcc</tt> or
+ <tt>cc 10</tt> (GHC call convention).</li>
<li>The call is a tail call - in tail position (ret immediately follows call
and ret uses value of call or is void).</li>
@@ -2161,7 +2162,7 @@ MOVSX32rm16 -> movsx, 32-bit register
<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-03-08 22:05:02 +0100 (Mon, 08 Mar 2010) $
+ Last modified: $Date: 2010-03-11 01:22:57 +0100 (Thu, 11 Mar 2010) $
</address>
</body>
Modified: vendor/llvm/dist/docs/LangRef.html
==============================================================================
--- vendor/llvm/dist/docs/LangRef.html Tue Mar 16 16:48:58 2010 (r205217)
+++ vendor/llvm/dist/docs/LangRef.html Tue Mar 16 16:51:38 2010 (r205218)
@@ -255,6 +255,12 @@
<li><a href="#int_umul_overflow">'<tt>llvm.umul.with.overflow.*</tt> Intrinsics</a></li>
</ol>
</li>
+ <li><a href="#int_fp16">Half Precision Floating Point Intrinsics</a>
+ <ol>
+ <li><a href="#int_convert_to_fp16">'<tt>llvm.convert.to.fp16</tt>' Intrinsic</a></li>
+ <li><a href="#int_convert_from_fp16">'<tt>llvm.convert.from.fp16</tt>' Intrinsic</a></li>
+ </ol>
+ </li>
<li><a href="#int_debugger">Debugger intrinsics</a></li>
<li><a href="#int_eh">Exception Handling intrinsics</a></li>
<li><a href="#int_trampoline">Trampoline Intrinsic</a>
@@ -691,9 +697,9 @@ define i32 @main() {
target, without having to conform to an externally specified ABI
(Application Binary Interface).
<a href="CodeGenerator.html#tailcallopt">Tail calls can only be optimized
- when this convention is used.</a> This calling convention does not
- support varargs and requires the prototype of all callees to exactly match
- the prototype of the function definition.</dd>
+ when this or the GHC convention is used.</a> This calling convention
+ does not support varargs and requires the prototype of all callees to
+ exactly match the prototype of the function definition.</dd>
<dt><b>"<tt>coldcc</tt>" - The cold calling convention</b>:</dt>
<dd>This calling convention attempts to make code in the caller as efficient
@@ -703,6 +709,26 @@ define i32 @main() {
does not support varargs and requires the prototype of all callees to
exactly match the prototype of the function definition.</dd>
+ <dt><b>"<tt>cc <em>10</em></tt>" - GHC convention</b>:</dt>
+ <dd>This calling convention has been implemented specifically for use by the
+ <a href="http://www.haskell.org/ghc">Glasgow Haskell Compiler (GHC)</a>.
+ It passes everything in registers, going to extremes to achieve this by
+ disabling callee save registers. This calling convention should not be
+ used lightly but only for specific situations such as an alternative to
+ the <em>register pinning</em> performance technique often used when
+ implementing functional programming languages.At the moment only X86
+ supports this convention and it has the following limitations:
+ <ul>
+ <li>On <em>X86-32</em> only supports up to 4 bit type parameters. No
+ floating point types are supported.</li>
+ <li>On <em>X86-64</em> only supports up to 10 bit type parameters and
+ 6 floating point parameters.</li>
+ </ul>
+ This calling convention supports
+ <a href="CodeGenerator.html#tailcallopt">tail call optimization</a> but
+ requires both the caller and callee are using it.
+ </dd>
+
<dt><b>"<tt>cc <<em>n</em>></tt>" - Numbered convention</b>:</dt>
<dd>Any calling convention may be specified by number, allowing
target-specific calling conventions to be used. Target specific calling
@@ -6588,6 +6614,97 @@ LLVM</a>.</p>
<!-- ======================================================================= -->
<div class="doc_subsection">
+ <a name="int_fp16">Half Precision Floating Point Intrinsics</a>
+</div>
+
+<div class="doc_text">
+
+<p>Half precision floating point is a storage-only format. This means that it is
+ a dense encoding (in memory) but does not support computation in the
+ format.</p>
+
+<p>This means that code must first load the half-precision floating point
+ value as an i16, then convert it to float with <a
+ href="#int_convert_from_fp16"><tt>llvm.convert.from.fp16</tt></a>.
+ Computation can then be performed on the float value (including extending to
+ double etc). To store the value back to memory, it is first converted to
+ float if needed, then converted to i16 with
+ <a href="#int_convert_to_fp16"><tt>llvm.convert.to.fp16</tt></a>, then
+ storing as an i16 value.</p>
+</div>
+
+<!-- _______________________________________________________________________ -->
+<div class="doc_subsubsection">
+ <a name="int_convert_to_fp16">'<tt>llvm.convert.to.fp16</tt>' Intrinsic</a>
+</div>
+
+<div class="doc_text">
+
+<h5>Syntax:</h5>
+<pre>
+ declare i16 @llvm.convert.to.fp16(f32 %a)
+</pre>
+
+<h5>Overview:</h5>
+<p>The '<tt>llvm.convert.to.fp16</tt>' intrinsic function performs
+ a conversion from single precision floating point format to half precision
+ floating point format.</p>
+
+<h5>Arguments:</h5>
+<p>The intrinsic function contains single argument - the value to be
+ converted.</p>
+
+<h5>Semantics:</h5>
+<p>The '<tt>llvm.convert.to.fp16</tt>' intrinsic function performs
+ a conversion from single precision floating point format to half precision
+ floating point format. The return value is an <tt>i16</tt> which
+ contains the converted number.</p>
+
+<h5>Examples:</h5>
+<pre>
+ %res = call i16 @llvm.convert.to.fp16(f32 %a)
+ store i16 %res, i16* @x, align 2
+</pre>
+
+</div>
+
+<!-- _______________________________________________________________________ -->
+<div class="doc_subsubsection">
+ <a name="int_convert_from_fp16">'<tt>llvm.convert.from.fp16</tt>' Intrinsic</a>
+</div>
+
+<div class="doc_text">
+
+<h5>Syntax:</h5>
+<pre>
+ declare f32 @llvm.convert.from.fp16(i16 %a)
+</pre>
+
+<h5>Overview:</h5>
+<p>The '<tt>llvm.convert.from.fp16</tt>' intrinsic function performs
+ a conversion from half precision floating point format to single precision
+ floating point format.</p>
+
+<h5>Arguments:</h5>
+<p>The intrinsic function contains single argument - the value to be
+ converted.</p>
+
+<h5>Semantics:</h5>
+<p>The '<tt>llvm.convert.from.fp16</tt>' intrinsic function performs a
+ conversion from half single precision floating point format to single
+ precision floating point format. The input half-float value is represented by
+ an <tt>i16</tt> value.</p>
+
+<h5>Examples:</h5>
+<pre>
+ %a = load i16* @x, align 2
+ %res = call f32 @llvm.convert.from.fp16(i16 %a)
+</pre>
+
+</div>
+
+<!-- ======================================================================= -->
+<div class="doc_subsection">
<a name="int_debugger">Debugger Intrinsics</a>
</div>
@@ -7473,7 +7590,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-03-08 22:05:02 +0100 (Mon, 08 Mar 2010) $
+ Last modified: $Date: 2010-03-15 05:12:21 +0100 (Mon, 15 Mar 2010) $
</address>
</body>
Added: vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter2/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter2/Makefile Tue Mar 16 16:51:38 2010 (r205218)
@@ -0,0 +1,22 @@
+##===- examples/OCaml-Kaleidoscope/Chapter2/Makefile -------*- Makefile -*-===##
+#
+# The LLVM Compiler Infrastructure
+#
+# This file is distributed under the University of Illinois Open Source
+# License. See LICENSE.TXT for details.
+#
+##===----------------------------------------------------------------------===##
+#
+# This is the makefile for the Objective Caml kaleidoscope tutorial, chapter 2.
+#
+##===----------------------------------------------------------------------===##
+
+LEVEL := ../../..
+TOOLNAME := OCaml-Kaleidoscope-Ch2
+EXAMPLE_TOOL := 1
+UsedComponents := core
+UsedOcamLibs := llvm
+
+OCAMLCFLAGS += -pp camlp4of
+
+include $(LEVEL)/bindings/ocaml/Makefile.ocaml
Added: vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter2/_tags
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter2/_tags Tue Mar 16 16:51:38 2010 (r205218)
@@ -0,0 +1 @@
+<{lexer,parser}.ml>: use_camlp4, pp(camlp4of)
Added: vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter2/ast.ml
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter2/ast.ml Tue Mar 16 16:51:38 2010 (r205218)
@@ -0,0 +1,25 @@
+(*===----------------------------------------------------------------------===
+ * Abstract Syntax Tree (aka Parse Tree)
+ *===----------------------------------------------------------------------===*)
+
+(* expr - Base type for all expression nodes. *)
+type expr =
+ (* variant for numeric literals like "1.0". *)
+ | Number of float
+
+ (* variant for referencing a variable, like "a". *)
+ | Variable of string
+
+ (* variant for a binary operator. *)
+ | Binary of char * expr * expr
+
+ (* variant for function calls. *)
+ | Call of string * expr array
+
+(* proto - This type represents the "prototype" for a function, which captures
+ * its name, and its argument names (thus implicitly the number of arguments the
+ * function takes). *)
+type proto = Prototype of string * string array
+
+(* func - This type represents a function definition itself. *)
+type func = Function of proto * expr
Added: vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter2/lexer.ml
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter2/lexer.ml Tue Mar 16 16:51:38 2010 (r205218)
@@ -0,0 +1,52 @@
+(*===----------------------------------------------------------------------===
+ * Lexer
+ *===----------------------------------------------------------------------===*)
+
+let rec lex = parser
+ (* Skip any whitespace. *)
+ | [< ' (' ' | '\n' | '\r' | '\t'); stream >] -> lex stream
+
+ (* identifier: [a-zA-Z][a-zA-Z0-9] *)
+ | [< ' ('A' .. 'Z' | 'a' .. 'z' as c); stream >] ->
+ let buffer = Buffer.create 1 in
+ Buffer.add_char buffer c;
+ lex_ident buffer stream
+
+ (* number: [0-9.]+ *)
+ | [< ' ('0' .. '9' as c); stream >] ->
+ let buffer = Buffer.create 1 in
+ Buffer.add_char buffer c;
+ lex_number buffer stream
+
+ (* Comment until end of line. *)
+ | [< ' ('#'); stream >] ->
+ lex_comment stream
+
+ (* Otherwise, just return the character as its ascii value. *)
+ | [< 'c; stream >] ->
+ [< 'Token.Kwd c; lex stream >]
+
+ (* end of stream. *)
+ | [< >] -> [< >]
+
+and lex_number buffer = parser
+ | [< ' ('0' .. '9' | '.' as c); stream >] ->
+ Buffer.add_char buffer c;
+ lex_number buffer stream
+ | [< stream=lex >] ->
+ [< 'Token.Number (float_of_string (Buffer.contents buffer)); stream >]
+
+and lex_ident buffer = parser
+ | [< ' ('A' .. 'Z' | 'a' .. 'z' | '0' .. '9' as c); stream >] ->
+ Buffer.add_char buffer c;
+ lex_ident buffer stream
+ | [< stream=lex >] ->
+ match Buffer.contents buffer with
+ | "def" -> [< 'Token.Def; stream >]
+ | "extern" -> [< 'Token.Extern; stream >]
+ | id -> [< 'Token.Ident id; stream >]
+
+and lex_comment = parser
+ | [< ' ('\n'); stream=lex >] -> stream
+ | [< 'c; e=lex_comment >] -> e
+ | [< >] -> [< >]
Added: vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter2/parser.ml
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter2/parser.ml Tue Mar 16 16:51:38 2010 (r205218)
@@ -0,0 +1,122 @@
+(*===---------------------------------------------------------------------===
+ * Parser
+ *===---------------------------------------------------------------------===*)
+
+(* binop_precedence - This holds the precedence for each binary operator that is
+ * defined *)
+let binop_precedence:(char, int) Hashtbl.t = Hashtbl.create 10
+
+(* precedence - Get the precedence of the pending binary operator token. *)
+let precedence c = try Hashtbl.find binop_precedence c with Not_found -> -1
+
+(* primary
+ * ::= identifier
+ * ::= numberexpr
+ * ::= parenexpr *)
+let rec parse_primary = parser
+ (* numberexpr ::= number *)
+ | [< 'Token.Number n >] -> Ast.Number n
+
+ (* parenexpr ::= '(' expression ')' *)
+ | [< 'Token.Kwd '('; e=parse_expr; 'Token.Kwd ')' ?? "expected ')'" >] -> e
+
+ (* identifierexpr
+ * ::= identifier
+ * ::= identifier '(' argumentexpr ')' *)
+ | [< 'Token.Ident id; stream >] ->
+ let rec parse_args accumulator = parser
+ | [< e=parse_expr; stream >] ->
+ begin parser
+ | [< 'Token.Kwd ','; e=parse_args (e :: accumulator) >] -> e
+ | [< >] -> e :: accumulator
+ end stream
+ | [< >] -> accumulator
+ in
+ let rec parse_ident id = parser
+ (* Call. *)
+ | [< 'Token.Kwd '(';
+ args=parse_args [];
+ 'Token.Kwd ')' ?? "expected ')'">] ->
+ Ast.Call (id, Array.of_list (List.rev args))
+
+ (* Simple variable ref. *)
+ | [< >] -> Ast.Variable id
+ in
+ parse_ident id stream
+
+ | [< >] -> raise (Stream.Error "unknown token when expecting an expression.")
+
+(* binoprhs
+ * ::= ('+' primary)* *)
+and parse_bin_rhs expr_prec lhs stream =
+ match Stream.peek stream with
+ (* If this is a binop, find its precedence. *)
+ | Some (Token.Kwd c) when Hashtbl.mem binop_precedence c ->
+ let token_prec = precedence c in
+
+ (* If this is a binop that binds at least as tightly as the current binop,
+ * consume it, otherwise we are done. *)
+ if token_prec < expr_prec then lhs else begin
+ (* Eat the binop. *)
+ Stream.junk stream;
+
+ (* Parse the primary expression after the binary operator. *)
+ let rhs = parse_primary stream in
+
+ (* Okay, we know this is a binop. *)
+ let rhs =
+ match Stream.peek stream with
+ | Some (Token.Kwd c2) ->
+ (* If BinOp binds less tightly with rhs than the operator after
+ * rhs, let the pending operator take rhs as its lhs. *)
+ let next_prec = precedence c2 in
+ if token_prec < next_prec
+ then parse_bin_rhs (token_prec + 1) rhs stream
+ else rhs
+ | _ -> rhs
+ in
+
+ (* Merge lhs/rhs. *)
+ let lhs = Ast.Binary (c, lhs, rhs) in
+ parse_bin_rhs expr_prec lhs stream
+ end
+ | _ -> lhs
+
+(* expression
+ * ::= primary binoprhs *)
+and parse_expr = parser
+ | [< lhs=parse_primary; stream >] -> parse_bin_rhs 0 lhs stream
+
+(* prototype
+ * ::= id '(' id* ')' *)
+let parse_prototype =
+ let rec parse_args accumulator = parser
+ | [< 'Token.Ident id; e=parse_args (id::accumulator) >] -> e
+ | [< >] -> accumulator
+ in
+
+ parser
+ | [< 'Token.Ident id;
+ 'Token.Kwd '(' ?? "expected '(' in prototype";
+ args=parse_args [];
+ 'Token.Kwd ')' ?? "expected ')' in prototype" >] ->
+ (* success. *)
+ Ast.Prototype (id, Array.of_list (List.rev args))
+
+ | [< >] ->
+ raise (Stream.Error "expected function name in prototype")
+
+(* definition ::= 'def' prototype expression *)
+let parse_definition = parser
+ | [< 'Token.Def; p=parse_prototype; e=parse_expr >] ->
+ Ast.Function (p, e)
+
+(* toplevelexpr ::= expression *)
+let parse_toplevel = parser
+ | [< e=parse_expr >] ->
+ (* Make an anonymous proto. *)
+ Ast.Function (Ast.Prototype ("", [||]), e)
+
+(* external ::= 'extern' prototype *)
+let parse_extern = parser
+ | [< 'Token.Extern; e=parse_prototype >] -> e
Added: vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter2/token.ml
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter2/token.ml Tue Mar 16 16:51:38 2010 (r205218)
@@ -0,0 +1,15 @@
+(*===----------------------------------------------------------------------===
+ * Lexer Tokens
+ *===----------------------------------------------------------------------===*)
+
+(* The lexer returns these 'Kwd' if it is an unknown character, otherwise one of
+ * these others for known things. *)
+type token =
+ (* commands *)
+ | Def | Extern
+
+ (* primary *)
+ | Ident of string | Number of float
+
+ (* unknown *)
+ | Kwd of char
Added: vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter2/toplevel.ml
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter2/toplevel.ml Tue Mar 16 16:51:38 2010 (r205218)
@@ -0,0 +1,34 @@
+(*===----------------------------------------------------------------------===
+ * Top-Level parsing and JIT Driver
+ *===----------------------------------------------------------------------===*)
+
+(* top ::= definition | external | expression | ';' *)
+let rec main_loop stream =
+ match Stream.peek stream with
+ | None -> ()
+
+ (* ignore top-level semicolons. *)
+ | Some (Token.Kwd ';') ->
+ Stream.junk stream;
+ main_loop stream
+
+ | Some token ->
+ begin
+ try match token with
+ | Token.Def ->
+ ignore(Parser.parse_definition stream);
+ print_endline "parsed a function definition.";
+ | Token.Extern ->
+ ignore(Parser.parse_extern stream);
+ print_endline "parsed an extern.";
+ | _ ->
+ (* Evaluate a top-level expression into an anonymous function. *)
+ ignore(Parser.parse_toplevel stream);
+ print_endline "parsed a top-level expr";
+ with Stream.Error s ->
+ (* Skip token for error recovery. *)
+ Stream.junk stream;
+ print_endline s;
+ end;
+ print_string "ready> "; flush stdout;
+ main_loop stream
Added: vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter2/toy.ml
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter2/toy.ml Tue Mar 16 16:51:38 2010 (r205218)
@@ -0,0 +1,21 @@
+(*===----------------------------------------------------------------------===
+ * Main driver code.
+ *===----------------------------------------------------------------------===*)
+
+let main () =
+ (* Install standard binary operators.
+ * 1 is the lowest precedence. *)
+ Hashtbl.add Parser.binop_precedence '<' 10;
+ Hashtbl.add Parser.binop_precedence '+' 20;
+ Hashtbl.add Parser.binop_precedence '-' 20;
+ Hashtbl.add Parser.binop_precedence '*' 40; (* highest. *)
+
+ (* Prime the first token. *)
+ print_string "ready> "; flush stdout;
+ let stream = Lexer.lex (Stream.of_channel stdin) in
+
+ (* Run the main "interpreter loop" now. *)
+ Toplevel.main_loop stream;
+;;
+
+main ()
Added: vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter3/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter3/Makefile Tue Mar 16 16:51:38 2010 (r205218)
@@ -0,0 +1,24 @@
+##===- examples/OCaml-Kaleidoscope/Chapter3/Makefile -------*- Makefile -*-===##
+#
+# The LLVM Compiler Infrastructure
+#
+# This file is distributed under the University of Illinois Open Source
+# License. See LICENSE.TXT for details.
+#
+##===----------------------------------------------------------------------===##
+#
+# This is the makefile for the Objective Caml kaleidoscope tutorial, chapter 3.
+#
+##===----------------------------------------------------------------------===##
+
+LEVEL := ../../..
+TOOLNAME := OCaml-Kaleidoscope-Ch3
+EXAMPLE_TOOL := 1
+UsedComponents := core
+UsedOcamLibs := llvm llvm_analysis
+
+OCAMLCFLAGS += -pp camlp4of
+
+ExcludeSources = $(PROJ_SRC_DIR)/myocamlbuild.ml
+
+include $(LEVEL)/bindings/ocaml/Makefile.ocaml
Added: vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter3/_tags
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter3/_tags Tue Mar 16 16:51:38 2010 (r205218)
@@ -0,0 +1,2 @@
+<{lexer,parser}.ml>: use_camlp4, pp(camlp4of)
+<*.{byte,native}>: g++, use_llvm, use_llvm_analysis
Added: vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter3/ast.ml
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter3/ast.ml Tue Mar 16 16:51:38 2010 (r205218)
@@ -0,0 +1,25 @@
+(*===----------------------------------------------------------------------===
+ * Abstract Syntax Tree (aka Parse Tree)
+ *===----------------------------------------------------------------------===*)
+
+(* expr - Base type for all expression nodes. *)
+type expr =
+ (* variant for numeric literals like "1.0". *)
+ | Number of float
+
+ (* variant for referencing a variable, like "a". *)
+ | Variable of string
+
+ (* variant for a binary operator. *)
+ | Binary of char * expr * expr
+
+ (* variant for function calls. *)
+ | Call of string * expr array
+
+(* proto - This type represents the "prototype" for a function, which captures
+ * its name, and its argument names (thus implicitly the number of arguments the
+ * function takes). *)
+type proto = Prototype of string * string array
+
+(* func - This type represents a function definition itself. *)
+type func = Function of proto * expr
Added: vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter3/codegen.ml
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter3/codegen.ml Tue Mar 16 16:51:38 2010 (r205218)
@@ -0,0 +1,100 @@
+(*===----------------------------------------------------------------------===
+ * Code Generation
+ *===----------------------------------------------------------------------===*)
+
+open Llvm
+
+exception Error of string
+
+let context = global_context ()
+let the_module = create_module context "my cool jit"
+let builder = builder context
+let named_values:(string, llvalue) Hashtbl.t = Hashtbl.create 10
+let double_type = double_type context
+
+let rec codegen_expr = function
+ | Ast.Number n -> const_float double_type n
+ | Ast.Variable name ->
+ (try Hashtbl.find named_values name with
+ | Not_found -> raise (Error "unknown variable name"))
+ | Ast.Binary (op, lhs, rhs) ->
+ let lhs_val = codegen_expr lhs in
+ let rhs_val = codegen_expr rhs in
+ begin
+ match op with
+ | '+' -> build_add lhs_val rhs_val "addtmp" builder
+ | '-' -> build_sub lhs_val rhs_val "subtmp" builder
+ | '*' -> build_mul lhs_val rhs_val "multmp" builder
+ | '<' ->
+ (* Convert bool 0/1 to double 0.0 or 1.0 *)
+ let i = build_fcmp Fcmp.Ult lhs_val rhs_val "cmptmp" builder in
+ build_uitofp i double_type "booltmp" builder
+ | _ -> raise (Error "invalid binary operator")
+ end
+ | Ast.Call (callee, args) ->
+ (* Look up the name in the module table. *)
+ let callee =
+ match lookup_function callee the_module with
+ | Some callee -> callee
+ | None -> raise (Error "unknown function referenced")
+ in
+ let params = params callee in
+
+ (* If argument mismatch error. *)
+ if Array.length params == Array.length args then () else
+ raise (Error "incorrect # arguments passed");
+ let args = Array.map codegen_expr args in
+ build_call callee args "calltmp" builder
+
+let codegen_proto = function
+ | Ast.Prototype (name, args) ->
+ (* Make the function type: double(double,double) etc. *)
+ let doubles = Array.make (Array.length args) double_type in
+ let ft = function_type double_type doubles in
+ let f =
+ match lookup_function name the_module with
+ | None -> declare_function name ft the_module
+
+ (* If 'f' conflicted, there was already something named 'name'. If it
+ * has a body, don't allow redefinition or reextern. *)
+ | Some f ->
+ (* If 'f' already has a body, reject this. *)
+ if block_begin f <> At_end f then
+ raise (Error "redefinition of function");
+
+ (* If 'f' took a different number of arguments, reject. *)
+ if element_type (type_of f) <> ft then
+ raise (Error "redefinition of function with different # args");
+ f
+ in
+
+ (* Set names for all arguments. *)
+ Array.iteri (fun i a ->
+ let n = args.(i) in
+ set_value_name n a;
+ Hashtbl.add named_values n a;
+ ) (params f);
+ f
+
+let codegen_func = function
+ | Ast.Function (proto, body) ->
+ Hashtbl.clear named_values;
+ let the_function = codegen_proto proto in
+
+ (* Create a new basic block to start insertion into. *)
+ let bb = append_block context "entry" the_function in
+ position_at_end bb builder;
+
+ try
+ let ret_val = codegen_expr body in
+
+ (* Finish off the function. *)
+ let _ = build_ret ret_val builder in
+
+ (* Validate the generated code, checking for consistency. *)
+ Llvm_analysis.assert_valid_function the_function;
+
+ the_function
+ with e ->
+ delete_function the_function;
+ raise e
Added: vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter3/lexer.ml
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/llvm/dist/examples/OCaml-Kaleidoscope/Chapter3/lexer.ml Tue Mar 16 16:51:38 2010 (r205218)
@@ -0,0 +1,52 @@
+(*===----------------------------------------------------------------------===
+ * Lexer
+ *===----------------------------------------------------------------------===*)
+
+let rec lex = parser
+ (* Skip any whitespace. *)
+ | [< ' (' ' | '\n' | '\r' | '\t'); stream >] -> lex stream
+
+ (* identifier: [a-zA-Z][a-zA-Z0-9] *)
+ | [< ' ('A' .. 'Z' | 'a' .. 'z' as c); stream >] ->
+ let buffer = Buffer.create 1 in
+ Buffer.add_char buffer c;
+ lex_ident buffer stream
+
+ (* number: [0-9.]+ *)
+ | [< ' ('0' .. '9' as c); stream >] ->
+ let buffer = Buffer.create 1 in
+ Buffer.add_char buffer c;
+ lex_number buffer stream
+
+ (* Comment until end of line. *)
+ | [< ' ('#'); stream >] ->
+ lex_comment stream
+
+ (* Otherwise, just return the character as its ascii value. *)
+ | [< 'c; stream >] ->
+ [< 'Token.Kwd c; lex stream >]
+
+ (* end of stream. *)
+ | [< >] -> [< >]
+
+and lex_number buffer = parser
+ | [< ' ('0' .. '9' | '.' as c); stream >] ->
+ Buffer.add_char buffer c;
+ lex_number buffer stream
+ | [< stream=lex >] ->
+ [< 'Token.Number (float_of_string (Buffer.contents buffer)); stream >]
+
+and lex_ident buffer = parser
+ | [< ' ('A' .. 'Z' | 'a' .. 'z' | '0' .. '9' as c); stream >] ->
+ Buffer.add_char buffer c;
+ lex_ident buffer stream
+ | [< stream=lex >] ->
+ match Buffer.contents buffer with
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-vendor
mailing list