svn commit: r193574 - in vendor/llvm/dist: . autoconf cmake
cmake/modules docs include/llvm include/llvm-c
include/llvm/Analysis include/llvm/CodeGen
include/llvm/Config include/llvm/ExecutionEngin...
Ed Schouten
ed at FreeBSD.org
Sat Jun 6 08:20:31 UTC 2009
Author: ed
Date: Sat Jun 6 08:20:29 2009
New Revision: 193574
URL: http://svn.freebsd.org/changeset/base/193574
Log:
Import LLVM, at r72995.
We should now have support for #pragma weak.
Added:
vendor/llvm/dist/lib/CodeGen/ELF.h
vendor/llvm/dist/test/CodeGen/ARM/2009-06-04-MissingLiveIn.ll
vendor/llvm/dist/test/CodeGen/CBackend/fneg.ll
vendor/llvm/dist/test/CodeGen/Generic/2009-06-03-UnreachableSplitPad.ll
vendor/llvm/dist/test/CodeGen/X86/2009-06-03-Win64DisableRedZone.ll
vendor/llvm/dist/test/CodeGen/X86/2009-06-03-Win64SpillXMM.ll
vendor/llvm/dist/test/CodeGen/X86/2009-06-04-VirtualLiveIn.ll
vendor/llvm/dist/test/CodeGen/X86/2009-06-05-ScalarToVectorByteMMX.ll
vendor/llvm/dist/test/CodeGen/X86/2009-06-05-VZextByteShort.ll
vendor/llvm/dist/test/CodeGen/X86/2009-06-05-VariableIndexInsert.ll
vendor/llvm/dist/test/CodeGen/X86/2009-06-05-sitofpCrash.ll
vendor/llvm/dist/test/CodeGen/X86/2009-06-06-ConcatVectors.ll
vendor/llvm/dist/test/CodeGen/X86/fmul-zero.ll
vendor/llvm/dist/test/CodeGen/X86/red-zone2.ll
vendor/llvm/dist/test/Other/2009-06-05-no-implicit-float.ll
Modified:
vendor/llvm/dist/CMakeLists.txt
vendor/llvm/dist/Makefile.rules
vendor/llvm/dist/autoconf/configure.ac
vendor/llvm/dist/cmake/config-ix.cmake
vendor/llvm/dist/cmake/modules/AddLLVM.cmake
vendor/llvm/dist/cmake/modules/AddPartiallyLinkedObject.cmake
vendor/llvm/dist/cmake/modules/LLVMConfig.cmake
vendor/llvm/dist/configure
vendor/llvm/dist/docs/CMake.html
vendor/llvm/dist/docs/GoldPlugin.html
vendor/llvm/dist/docs/LangRef.html
vendor/llvm/dist/include/llvm-c/lto.h
vendor/llvm/dist/include/llvm/Analysis/Dominators.h
vendor/llvm/dist/include/llvm/Analysis/ScalarEvolutionExpander.h
vendor/llvm/dist/include/llvm/Attributes.h
vendor/llvm/dist/include/llvm/CodeGen/JITCodeEmitter.h
vendor/llvm/dist/include/llvm/CodeGen/MachineCodeEmitter.h
vendor/llvm/dist/include/llvm/Config/config.h.cmake
vendor/llvm/dist/include/llvm/Constants.h
vendor/llvm/dist/include/llvm/ExecutionEngine/JITMemoryManager.h
vendor/llvm/dist/include/llvm/InstrTypes.h
vendor/llvm/dist/include/llvm/Instruction.def
vendor/llvm/dist/include/llvm/Support/ConstantFolder.h
vendor/llvm/dist/include/llvm/Support/IRBuilder.h
vendor/llvm/dist/include/llvm/Support/NoFolder.h
vendor/llvm/dist/include/llvm/Support/PatternMatch.h
vendor/llvm/dist/include/llvm/Support/StandardPasses.h
vendor/llvm/dist/include/llvm/Support/TargetFolder.h
vendor/llvm/dist/include/llvm/Support/raw_ostream.h
vendor/llvm/dist/include/llvm/System/Process.h
vendor/llvm/dist/include/llvm/Target/TargetELFWriterInfo.h
vendor/llvm/dist/include/llvm/Target/TargetLowering.h
vendor/llvm/dist/include/llvm/Target/TargetOptions.h
vendor/llvm/dist/lib/Analysis/InstCount.cpp
vendor/llvm/dist/lib/Analysis/LoopInfo.cpp
vendor/llvm/dist/lib/Analysis/ScalarEvolution.cpp
vendor/llvm/dist/lib/Analysis/ScalarEvolutionExpander.cpp
vendor/llvm/dist/lib/Analysis/ValueTracking.cpp
vendor/llvm/dist/lib/AsmParser/LLLexer.cpp
vendor/llvm/dist/lib/AsmParser/LLParser.cpp
vendor/llvm/dist/lib/AsmParser/LLToken.h
vendor/llvm/dist/lib/Bitcode/Reader/BitcodeReader.cpp
vendor/llvm/dist/lib/Bitcode/Writer/BitcodeWriter.cpp
vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp
vendor/llvm/dist/lib/CodeGen/ELFCodeEmitter.cpp
vendor/llvm/dist/lib/CodeGen/ELFCodeEmitter.h
vendor/llvm/dist/lib/CodeGen/ELFWriter.cpp
vendor/llvm/dist/lib/CodeGen/ELFWriter.h
vendor/llvm/dist/lib/CodeGen/MachineInstr.cpp
vendor/llvm/dist/lib/CodeGen/RegAllocLinearScan.cpp
vendor/llvm/dist/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
vendor/llvm/dist/lib/CodeGen/SelectionDAG/FastISel.cpp
vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGBuild.h
vendor/llvm/dist/lib/CodeGen/SelectionDAG/TargetLowering.cpp
vendor/llvm/dist/lib/CodeGen/VirtRegRewriter.cpp
vendor/llvm/dist/lib/ExecutionEngine/ExecutionEngine.cpp
vendor/llvm/dist/lib/ExecutionEngine/Interpreter/Execution.cpp
vendor/llvm/dist/lib/ExecutionEngine/JIT/JITEmitter.cpp
vendor/llvm/dist/lib/ExecutionEngine/JIT/JITMemoryManager.cpp
vendor/llvm/dist/lib/Support/raw_ostream.cpp
vendor/llvm/dist/lib/System/Unix/Process.inc
vendor/llvm/dist/lib/System/Win32/Process.inc
vendor/llvm/dist/lib/Target/ARM/ARMConstantPoolValue.cpp
vendor/llvm/dist/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
vendor/llvm/dist/lib/Target/ARM/ARMMachineFunctionInfo.h
vendor/llvm/dist/lib/Target/ARM/ARMRegisterInfo.td
vendor/llvm/dist/lib/Target/Alpha/AlphaMachineFunctionInfo.h
vendor/llvm/dist/lib/Target/CBackend/CBackend.cpp
vendor/llvm/dist/lib/Target/CppBackend/CPPBackend.cpp
vendor/llvm/dist/lib/Target/IA64/IA64MachineFunctionInfo.h
vendor/llvm/dist/lib/Target/MSIL/MSILWriter.cpp
vendor/llvm/dist/lib/Target/MSP430/MSP430MachineFunctionInfo.h
vendor/llvm/dist/lib/Target/PIC16/PIC16ISelLowering.cpp
vendor/llvm/dist/lib/Target/PowerPC/PPCISelLowering.cpp
vendor/llvm/dist/lib/Target/PowerPC/PPCISelLowering.h
vendor/llvm/dist/lib/Target/PowerPC/PPCMachineFunctionInfo.h
vendor/llvm/dist/lib/Target/PowerPC/PPCRegisterInfo.cpp
vendor/llvm/dist/lib/Target/TargetMachine.cpp
vendor/llvm/dist/lib/Target/X86/X86ELFWriterInfo.cpp
vendor/llvm/dist/lib/Target/X86/X86ELFWriterInfo.h
vendor/llvm/dist/lib/Target/X86/X86ISelLowering.cpp
vendor/llvm/dist/lib/Target/X86/X86ISelLowering.h
vendor/llvm/dist/lib/Target/X86/X86InstrInfo.cpp
vendor/llvm/dist/lib/Target/X86/X86InstrMMX.td
vendor/llvm/dist/lib/Target/X86/X86InstrSSE.td
vendor/llvm/dist/lib/Target/X86/X86MachineFunctionInfo.h
vendor/llvm/dist/lib/Target/X86/X86RegisterInfo.cpp
vendor/llvm/dist/lib/Target/X86/X86TargetMachine.cpp
vendor/llvm/dist/lib/Target/XCore/XCoreMachineFunctionInfo.h
vendor/llvm/dist/lib/Transforms/Scalar/GVN.cpp
vendor/llvm/dist/lib/Transforms/Scalar/GVNPRE.cpp
vendor/llvm/dist/lib/Transforms/Scalar/IndVarSimplify.cpp
vendor/llvm/dist/lib/Transforms/Scalar/InstructionCombining.cpp
vendor/llvm/dist/lib/Transforms/Scalar/LoopStrengthReduce.cpp
vendor/llvm/dist/lib/Transforms/Scalar/SimplifyLibCalls.cpp
vendor/llvm/dist/lib/Transforms/Utils/SimplifyCFG.cpp
vendor/llvm/dist/lib/VMCore/Attributes.cpp
vendor/llvm/dist/lib/VMCore/ConstantFold.cpp
vendor/llvm/dist/lib/VMCore/Constants.cpp
vendor/llvm/dist/lib/VMCore/Instruction.cpp
vendor/llvm/dist/lib/VMCore/Instructions.cpp
vendor/llvm/dist/lib/VMCore/Verifier.cpp
vendor/llvm/dist/test/Analysis/ScalarEvolution/sext-iv-0.ll
vendor/llvm/dist/test/Analysis/ScalarEvolution/sext-iv-1.ll
vendor/llvm/dist/test/Analysis/ScalarEvolution/trip-count4.ll
vendor/llvm/dist/test/Assembler/2002-04-07-HexFloatConstants.ll
vendor/llvm/dist/test/Assembler/2002-04-07-InfConstant.ll
vendor/llvm/dist/test/CodeGen/ARM/2007-01-19-InfiniteLoop.ll
vendor/llvm/dist/test/CodeGen/ARM/2008-11-19-ScavengerAssert.ll
vendor/llvm/dist/test/CodeGen/ARM/2009-02-27-SpillerBug.ll
vendor/llvm/dist/test/CodeGen/ARM/2009-03-07-SpillerBug.ll
vendor/llvm/dist/test/CodeGen/ARM/2009-04-08-FloatUndef.ll
vendor/llvm/dist/test/CodeGen/ARM/cse-libcalls.ll
vendor/llvm/dist/test/CodeGen/ARM/fixunsdfdi.ll
vendor/llvm/dist/test/CodeGen/ARM/fnmul.ll
vendor/llvm/dist/test/CodeGen/ARM/fparith.ll
vendor/llvm/dist/test/CodeGen/ARM/fpmem.ll
vendor/llvm/dist/test/CodeGen/ARM/illegal-vector-bitcast.ll
vendor/llvm/dist/test/CodeGen/ARM/lsr-scale-addr-mode.ll
vendor/llvm/dist/test/CodeGen/ARM/memcpy-inline.ll
vendor/llvm/dist/test/CodeGen/ARM/str_pre-2.ll
vendor/llvm/dist/test/CodeGen/ARM/vfp.ll
vendor/llvm/dist/test/CodeGen/CBackend/2006-12-11-Float-Bitcast.ll
vendor/llvm/dist/test/CodeGen/CBackend/2008-10-21-PPCLongDoubleConstant.ll
vendor/llvm/dist/test/CodeGen/CBackend/vectors.ll
vendor/llvm/dist/test/CodeGen/CellSPU/dp_farith.ll
vendor/llvm/dist/test/CodeGen/CellSPU/fneg-fabs.ll
vendor/llvm/dist/test/CodeGen/CellSPU/sp_farith.ll
vendor/llvm/dist/test/CodeGen/Generic/2006-07-03-schedulers.ll
vendor/llvm/dist/test/CodeGen/Generic/2007-05-15-InfiniteRecursion.ll
vendor/llvm/dist/test/CodeGen/Generic/2008-02-04-ExtractSubvector.ll
vendor/llvm/dist/test/CodeGen/Generic/2008-02-25-NegateZero.ll
vendor/llvm/dist/test/CodeGen/Generic/2008-02-26-NegatableCrash.ll
vendor/llvm/dist/test/CodeGen/Generic/fneg-fabs.ll
vendor/llvm/dist/test/CodeGen/Generic/print-arith-fp.ll
vendor/llvm/dist/test/CodeGen/Generic/select.ll
vendor/llvm/dist/test/CodeGen/Generic/storetrunc-fp.ll
vendor/llvm/dist/test/CodeGen/Generic/v-split.ll
vendor/llvm/dist/test/CodeGen/Generic/vector.ll
vendor/llvm/dist/test/CodeGen/MSP430/2009-05-19-DoubleSplit.ll
vendor/llvm/dist/test/CodeGen/Mips/2008-07-06-fadd64.ll
vendor/llvm/dist/test/CodeGen/Mips/2008-07-22-Cstpool.ll
vendor/llvm/dist/test/CodeGen/Mips/2008-07-23-fpcmp.ll
vendor/llvm/dist/test/CodeGen/Mips/2008-08-03-fabs64.ll
vendor/llvm/dist/test/CodeGen/Mips/2008-11-10-xint_to_fp.ll
vendor/llvm/dist/test/CodeGen/PowerPC/2006-01-11-darwin-fp-argument.ll
vendor/llvm/dist/test/CodeGen/PowerPC/2006-10-11-combiner-aa-regression.ll
vendor/llvm/dist/test/CodeGen/PowerPC/2007-03-30-SpillerCrash.ll
vendor/llvm/dist/test/CodeGen/PowerPC/2007-11-19-VectorSplitting.ll
vendor/llvm/dist/test/CodeGen/PowerPC/2008-07-15-Fabs.ll
vendor/llvm/dist/test/CodeGen/PowerPC/2008-07-17-Fneg.ll
vendor/llvm/dist/test/CodeGen/PowerPC/2008-09-12-CoalescerBug.ll
vendor/llvm/dist/test/CodeGen/PowerPC/2008-10-28-UnprocessedNode.ll
vendor/llvm/dist/test/CodeGen/PowerPC/2008-10-28-f128-i32.ll
vendor/llvm/dist/test/CodeGen/PowerPC/buildvec_canonicalize.ll
vendor/llvm/dist/test/CodeGen/PowerPC/fma.ll
vendor/llvm/dist/test/CodeGen/PowerPC/fnabs.ll
vendor/llvm/dist/test/CodeGen/PowerPC/fneg.ll
vendor/llvm/dist/test/CodeGen/PowerPC/int-fp-conv-1.ll
vendor/llvm/dist/test/CodeGen/PowerPC/itofp128.ll
vendor/llvm/dist/test/CodeGen/PowerPC/mem-rr-addr-mode.ll
vendor/llvm/dist/test/CodeGen/PowerPC/multiple-return-values.ll
vendor/llvm/dist/test/CodeGen/PowerPC/ppcf128-1-opt.ll
vendor/llvm/dist/test/CodeGen/PowerPC/ppcf128-1.ll
vendor/llvm/dist/test/CodeGen/PowerPC/ppcf128-2.ll
vendor/llvm/dist/test/CodeGen/PowerPC/ppcf128-4.ll
vendor/llvm/dist/test/CodeGen/PowerPC/return-val-i128.ll
vendor/llvm/dist/test/CodeGen/PowerPC/unsafe-math.ll
vendor/llvm/dist/test/CodeGen/PowerPC/vec_fneg.ll
vendor/llvm/dist/test/CodeGen/PowerPC/vec_splat.ll
vendor/llvm/dist/test/CodeGen/PowerPC/vec_zero.ll
vendor/llvm/dist/test/CodeGen/PowerPC/vector.ll
vendor/llvm/dist/test/CodeGen/SPARC/2006-01-22-BitConvertLegalize.ll
vendor/llvm/dist/test/CodeGen/X86/2005-05-08-FPStackifierPHI.ll
vendor/llvm/dist/test/CodeGen/X86/2006-05-25-CycleInDAG.ll
vendor/llvm/dist/test/CodeGen/X86/2007-01-08-InstrSched.ll
vendor/llvm/dist/test/CodeGen/X86/2007-01-13-StackPtrIndex.ll
vendor/llvm/dist/test/CodeGen/X86/2007-03-01-SpillerCrash.ll
vendor/llvm/dist/test/CodeGen/X86/2007-04-11-InlineAsmVectorResult.ll
vendor/llvm/dist/test/CodeGen/X86/2007-04-24-VectorCrash.ll
vendor/llvm/dist/test/CodeGen/X86/2007-06-29-VecFPConstantCSEBug.ll
vendor/llvm/dist/test/CodeGen/X86/2007-07-10-StackerAssert.ll
vendor/llvm/dist/test/CodeGen/X86/2007-09-18-ShuffleXformBug.ll
vendor/llvm/dist/test/CodeGen/X86/2007-10-12-SpillerUnfold1.ll
vendor/llvm/dist/test/CodeGen/X86/2007-11-02-BadAsm.ll
vendor/llvm/dist/test/CodeGen/X86/2007-11-06-InstrSched.ll
vendor/llvm/dist/test/CodeGen/X86/2007-11-30-LoadFolding-Bug.ll
vendor/llvm/dist/test/CodeGen/X86/2007-12-11-FoldImpDefSpill.ll
vendor/llvm/dist/test/CodeGen/X86/2008-01-16-FPStackifierAssert.ll
vendor/llvm/dist/test/CodeGen/X86/2008-02-06-LoadFoldingBug.ll
vendor/llvm/dist/test/CodeGen/X86/2008-02-08-LoadFoldingBug.ll
vendor/llvm/dist/test/CodeGen/X86/2008-02-27-DeadSlotElimBug.ll
vendor/llvm/dist/test/CodeGen/X86/2008-02-27-PEICrash.ll
vendor/llvm/dist/test/CodeGen/X86/2008-03-18-CoalescerBug.ll
vendor/llvm/dist/test/CodeGen/X86/2008-03-25-TwoAddrPassBug.ll
vendor/llvm/dist/test/CodeGen/X86/2008-07-19-movups-spills.ll
vendor/llvm/dist/test/CodeGen/X86/2008-07-23-VSetCC.ll
vendor/llvm/dist/test/CodeGen/X86/2008-08-23-X86-64AsmBug.ll
vendor/llvm/dist/test/CodeGen/X86/2008-10-27-CoalescerBug.ll
vendor/llvm/dist/test/CodeGen/X86/2008-11-03-F80VAARG.ll
vendor/llvm/dist/test/CodeGen/X86/2008-12-05-SpillerCrash.ll
vendor/llvm/dist/test/CodeGen/X86/2009-01-16-UIntToFP.ll
vendor/llvm/dist/test/CodeGen/X86/2009-02-12-SpillerBug.ll
vendor/llvm/dist/test/CodeGen/X86/2009-02-25-CommuteBug.ll
vendor/llvm/dist/test/CodeGen/X86/2009-03-03-BitcastLongDouble.ll
vendor/llvm/dist/test/CodeGen/X86/2009-03-09-SpillerBug.ll
vendor/llvm/dist/test/CodeGen/X86/2009-03-12-CPAlignBug.ll
vendor/llvm/dist/test/CodeGen/X86/2009-03-23-MultiUseSched.ll
vendor/llvm/dist/test/CodeGen/X86/abi-isel.ll
vendor/llvm/dist/test/CodeGen/X86/break-anti-dependencies.ll
vendor/llvm/dist/test/CodeGen/X86/coalescer-commute1.ll
vendor/llvm/dist/test/CodeGen/X86/coalescer-commute2.ll
vendor/llvm/dist/test/CodeGen/X86/coalescer-commute4.ll
vendor/llvm/dist/test/CodeGen/X86/complex-fca.ll
vendor/llvm/dist/test/CodeGen/X86/constant-pool-remat-0.ll
vendor/llvm/dist/test/CodeGen/X86/dagcombine-buildvector.ll
vendor/llvm/dist/test/CodeGen/X86/extract-combine.ll
vendor/llvm/dist/test/CodeGen/X86/fabs.ll
vendor/llvm/dist/test/CodeGen/X86/fast-isel.ll
vendor/llvm/dist/test/CodeGen/X86/fold-pcmpeqd-0.ll
vendor/llvm/dist/test/CodeGen/X86/fold-pcmpeqd-2.ll
vendor/llvm/dist/test/CodeGen/X86/fp-in-intregs.ll
vendor/llvm/dist/test/CodeGen/X86/fp-stack-compare.ll
vendor/llvm/dist/test/CodeGen/X86/fp_constant_op.ll
vendor/llvm/dist/test/CodeGen/X86/fp_load_fold.ll
vendor/llvm/dist/test/CodeGen/X86/fsxor-alignment.ll
vendor/llvm/dist/test/CodeGen/X86/full-lsr.ll
vendor/llvm/dist/test/CodeGen/X86/ga-offset.ll
vendor/llvm/dist/test/CodeGen/X86/illegal-vector-args-return.ll
vendor/llvm/dist/test/CodeGen/X86/inline-asm-fpstack.ll
vendor/llvm/dist/test/CodeGen/X86/inline-asm-mrv.ll
vendor/llvm/dist/test/CodeGen/X86/inline-asm-x-scalar.ll
vendor/llvm/dist/test/CodeGen/X86/iv-users-in-other-loops.ll
vendor/llvm/dist/test/CodeGen/X86/masked-iv-safe.ll
vendor/llvm/dist/test/CodeGen/X86/masked-iv-unsafe.ll
vendor/llvm/dist/test/CodeGen/X86/multiple-return-values.ll
vendor/llvm/dist/test/CodeGen/X86/neg_fp.ll
vendor/llvm/dist/test/CodeGen/X86/negate-add-zero.ll
vendor/llvm/dist/test/CodeGen/X86/negative-sin.ll
vendor/llvm/dist/test/CodeGen/X86/peep-test-0.ll
vendor/llvm/dist/test/CodeGen/X86/peep-test-1.ll
vendor/llvm/dist/test/CodeGen/X86/phys_subreg_coalesce.ll
vendor/llvm/dist/test/CodeGen/X86/pr2656.ll
vendor/llvm/dist/test/CodeGen/X86/pr3154.ll
vendor/llvm/dist/test/CodeGen/X86/pr3457.ll
vendor/llvm/dist/test/CodeGen/X86/pre-split1.ll
vendor/llvm/dist/test/CodeGen/X86/pre-split10.ll
vendor/llvm/dist/test/CodeGen/X86/pre-split4.ll
vendor/llvm/dist/test/CodeGen/X86/pre-split5.ll
vendor/llvm/dist/test/CodeGen/X86/pre-split6.ll
vendor/llvm/dist/test/CodeGen/X86/pre-split7.ll
vendor/llvm/dist/test/CodeGen/X86/pre-split8.ll
vendor/llvm/dist/test/CodeGen/X86/pre-split9.ll
vendor/llvm/dist/test/CodeGen/X86/remat-constant.ll
vendor/llvm/dist/test/CodeGen/X86/shrink-fp-const1.ll
vendor/llvm/dist/test/CodeGen/X86/small-byval-memcpy.ll
vendor/llvm/dist/test/CodeGen/X86/soft-fp.ll
vendor/llvm/dist/test/CodeGen/X86/sse-align-0.ll
vendor/llvm/dist/test/CodeGen/X86/sse-align-2.ll
vendor/llvm/dist/test/CodeGen/X86/sse-fcopysign.ll
vendor/llvm/dist/test/CodeGen/X86/sse41-extractps-bitcast-1.ll
vendor/llvm/dist/test/CodeGen/X86/sse41-pmovx.ll
vendor/llvm/dist/test/CodeGen/X86/stack-align.ll
vendor/llvm/dist/test/CodeGen/X86/storetrunc-fp.ll
vendor/llvm/dist/test/CodeGen/X86/stride-reuse.ll
vendor/llvm/dist/test/CodeGen/X86/twoaddr-coalesce-2.ll
vendor/llvm/dist/test/CodeGen/X86/vec_extract.ll
vendor/llvm/dist/test/CodeGen/X86/vec_fneg.ll
vendor/llvm/dist/test/CodeGen/X86/vec_ins_extract.ll
vendor/llvm/dist/test/CodeGen/X86/vec_insert.ll
vendor/llvm/dist/test/CodeGen/X86/vec_logical.ll
vendor/llvm/dist/test/CodeGen/X86/vec_select.ll
vendor/llvm/dist/test/CodeGen/X86/vec_shuffle-27.ll
vendor/llvm/dist/test/CodeGen/X86/vec_shuffle-3.ll
vendor/llvm/dist/test/CodeGen/X86/vec_shuffle-5.ll
vendor/llvm/dist/test/CodeGen/X86/vec_splat.ll
vendor/llvm/dist/test/CodeGen/X86/vec_ss_load_fold.ll
vendor/llvm/dist/test/CodeGen/X86/vec_zero.ll
vendor/llvm/dist/test/CodeGen/X86/vector.ll
vendor/llvm/dist/test/CodeGen/X86/widen_arith-6.ll
vendor/llvm/dist/test/CodeGen/X86/widen_shuffle-1.ll
vendor/llvm/dist/test/CodeGen/X86/widen_shuffle-2.ll
vendor/llvm/dist/test/CodeGen/XCore/2009-01-14-Remat-Crash.ll
vendor/llvm/dist/test/CodeGen/XCore/fneg.ll
vendor/llvm/dist/test/ExecutionEngine/2003-01-10-FUCOM.ll
vendor/llvm/dist/test/ExecutionEngine/test-fp.ll
vendor/llvm/dist/test/ExecutionEngine/test-setcond-fp.ll
vendor/llvm/dist/test/Feature/ppcld.ll
vendor/llvm/dist/test/Feature/sparcld.ll
vendor/llvm/dist/test/Feature/x86ld.ll
vendor/llvm/dist/test/FrontendC/2009-01-20-k8.c
vendor/llvm/dist/test/FrontendC/2009-05-04-EnumInreg.c
vendor/llvm/dist/test/Other/2004-08-16-PackedSelect.ll
vendor/llvm/dist/test/Other/2004-08-16-PackedSimple.ll
vendor/llvm/dist/test/Other/2004-08-20-PackedControlFlow.ll
vendor/llvm/dist/test/Transforms/ConstProp/calls.ll
vendor/llvm/dist/test/Transforms/DeadStoreElimination/2006-06-27-AST-Remove.ll
vendor/llvm/dist/test/Transforms/GVNPRE/2007-06-18-ConstantInPhi.ll
vendor/llvm/dist/test/Transforms/GlobalOpt/2008-01-29-VolatileGlobal.ll
vendor/llvm/dist/test/Transforms/GlobalOpt/2008-04-26-SROA-Global-Align.ll
vendor/llvm/dist/test/Transforms/GlobalOpt/constantexpr-dangle.ll
vendor/llvm/dist/test/Transforms/IndVarSimplify/2006-12-10-BitCast.ll
vendor/llvm/dist/test/Transforms/IndVarSimplify/2008-11-03-Floating.ll
vendor/llvm/dist/test/Transforms/IndVarSimplify/2008-11-17-Floating.ll
vendor/llvm/dist/test/Transforms/IndVarSimplify/2008-11-25-APFloatAssert.ll
vendor/llvm/dist/test/Transforms/IndVarSimplify/2009-04-27-Floating.ll
vendor/llvm/dist/test/Transforms/IndVarSimplify/iv-zext.ll
vendor/llvm/dist/test/Transforms/InstCombine/2006-10-26-VectorReassoc.ll
vendor/llvm/dist/test/Transforms/InstCombine/2006-12-01-BadFPVectorXform.ll
vendor/llvm/dist/test/Transforms/InstCombine/2008-07-16-fsub.ll
vendor/llvm/dist/test/Transforms/InstCombine/add-sitofp.ll
vendor/llvm/dist/test/Transforms/InstCombine/dce-iterate.ll
vendor/llvm/dist/test/Transforms/InstCombine/fpextend.ll
vendor/llvm/dist/test/Transforms/InstCombine/mul.ll
vendor/llvm/dist/test/Transforms/InstCombine/multi-use-or.ll
vendor/llvm/dist/test/Transforms/InstCombine/shufflemask-undef.ll
vendor/llvm/dist/test/Transforms/InstCombine/signed-comparison.ll
vendor/llvm/dist/test/Transforms/InstCombine/sitofp.ll
vendor/llvm/dist/test/Transforms/InstCombine/vec_demanded_elts.ll
vendor/llvm/dist/test/Transforms/InstCombine/vec_narrow.ll
vendor/llvm/dist/test/Transforms/InstCombine/zero-point-zero-add.ll
vendor/llvm/dist/test/Transforms/LCSSA/2007-07-12-LICM-2.ll
vendor/llvm/dist/test/Transforms/LCSSA/2007-07-12-LICM-3.ll
vendor/llvm/dist/test/Transforms/LCSSA/2007-07-12-LICM.ll
vendor/llvm/dist/test/Transforms/LoopIndexSplit/2007-09-24-UpdateIterationSpace.ll
vendor/llvm/dist/test/Transforms/LoopIndexSplit/2007-09-25-UpdateIterationSpace-2.ll
vendor/llvm/dist/test/Transforms/Mem2Reg/PromoteMemToRegister.ll
vendor/llvm/dist/test/Transforms/MemCpyOpt/memcpy.ll
vendor/llvm/dist/test/Transforms/MemCpyOpt/sret.ll
vendor/llvm/dist/test/Transforms/PruneEH/2008-09-05-CGUpdate.ll
vendor/llvm/dist/test/Transforms/Reassociate/2006-04-27-ReassociateVector.ll
vendor/llvm/dist/test/Transforms/SCCP/2006-12-04-PackedType.ll
vendor/llvm/dist/test/Transforms/SCCP/apint-ipsccp4.ll
vendor/llvm/dist/test/Transforms/ScalarRepl/2009-03-17-CleanUp.ll
vendor/llvm/dist/test/Transforms/ScalarRepl/copy-aggregate.ll
vendor/llvm/dist/test/Transforms/ScalarRepl/memcpy-from-global.ll
vendor/llvm/dist/test/Transforms/ScalarRepl/vector_promote.ll
vendor/llvm/dist/test/Transforms/SimplifyCFG/2006-10-29-InvokeCrash.ll
vendor/llvm/dist/test/Transforms/SimplifyCFG/2008-01-02-hoist-fp-add.ll
vendor/llvm/dist/test/Transforms/SimplifyCFG/2008-04-27-MultipleReturnCrash.ll
vendor/llvm/dist/test/Transforms/SimplifyCFG/2009-05-12-externweak.ll
vendor/llvm/dist/test/Transforms/SimplifyLibCalls/half-powr.ll
vendor/llvm/dist/tools/CMakeLists.txt
vendor/llvm/dist/tools/llc/llc.cpp
vendor/llvm/dist/tools/llvm-ld/Optimize.cpp
vendor/llvm/dist/tools/lto/LTOCodeGenerator.cpp
vendor/llvm/dist/tools/lto/LTOCodeGenerator.h
vendor/llvm/dist/tools/lto/lto.cpp
vendor/llvm/dist/tools/lto/lto.exports
vendor/llvm/dist/utils/llvm.grm
vendor/llvm/dist/utils/vim/llvm.vim
Modified: vendor/llvm/dist/CMakeLists.txt
==============================================================================
--- vendor/llvm/dist/CMakeLists.txt Sat Jun 6 07:29:19 2009 (r193573)
+++ vendor/llvm/dist/CMakeLists.txt Sat Jun 6 08:20:29 2009 (r193574)
@@ -58,13 +58,22 @@ endif( MSVC )
option(LLVM_ENABLE_THREADS "Use threads if available." ON)
if( uppercase_CMAKE_BUILD_TYPE STREQUAL "RELEASE" )
- option(LLVM_ENABLE_ASSERTS "Enable asserts" OFF)
+ option(LLVM_ENABLE_ASSERTIONS "Enable assertions" OFF)
else()
- option(LLVM_ENABLE_ASSERTS "Enable asserts" ON)
+ option(LLVM_ENABLE_ASSERTIONS "Enable assertions" ON)
endif()
-if( LLVM_ENABLE_ASSERTS )
- add_definitions( -D_DEBUG -UNDEBUG )
+if( LLVM_ENABLE_ASSERTIONS )
+ add_definitions( -D_DEBUG )
+ # On Release builds cmake automatically defines NDEBUG, so we
+ # explicitly undefine it:
+ if( uppercase_CMAKE_BUILD_TYPE STREQUAL "RELEASE" )
+ add_definitions( -UNDEBUG )
+ endif()
+else()
+ if( NOT uppercase_CMAKE_BUILD_TYPE STREQUAL "RELEASE" )
+ add_definitions( -DNDEBUG )
+ endif()
endif()
if( LLVM_TARGETS_TO_BUILD STREQUAL "all" )
@@ -81,6 +90,24 @@ endforeach(c)
set(llvm_builded_incs_dir ${LLVM_BINARY_DIR}/include/llvm)
+# The USE_EXPLICIT_DEPENDENCIES variable will be TRUE to indicate that
+# we should use the library dependencies explicitly specified in the
+# CMakeLists.txt files rather than those determined by
+# llvm-config. This value must be true for non-make and IDE
+# generators.
+if (MSVC_IDE)
+ set(DEFAULT_USE_EXPLICIT_DEPENDENCIES ON)
+elseif (XCODE)
+ set(DEFAULT_USE_EXPLICIT_DEPENDENCIES ON)
+else ()
+ set(DEFAULT_USE_EXPLICIT_DEPENDENCIES OFF)
+endif ()
+
+option(USE_EXPLICIT_DEPENDENCIES
+ "Use explicit dependencies instead of llvm-config"
+ ${DEFAULT_USE_EXPLICIT_DEPENDENCIES})
+mark_as_advanced(USE_EXPLICIT_DEPENDENCIES)
+
# Add path for custom modules
set(CMAKE_MODULE_PATH
${CMAKE_MODULE_PATH}
@@ -123,11 +150,13 @@ include(config-ix)
option(LLVM_ENABLE_PIC "Build Position-Independent Code" OFF)
+set(ENABLE_PIC 0)
if( LLVM_ENABLE_PIC )
if( SUPPORTS_FPIC_FLAG )
message(STATUS "Building with -fPIC")
add_llvm_definitions(-fPIC)
- else( SUPPORTS_FPIC_FLAG )
+ set(ENABLE_PIC 1)
+ else( SUPPORTS_FPIC_FLAG )
message(STATUS "Warning: -fPIC not supported.")
endif()
endif()
Modified: vendor/llvm/dist/Makefile.rules
==============================================================================
--- vendor/llvm/dist/Makefile.rules Sat Jun 6 07:29:19 2009 (r193573)
+++ vendor/llvm/dist/Makefile.rules Sat Jun 6 08:20:29 2009 (r193574)
@@ -1066,7 +1066,7 @@ all-local:: $(LibName.O)
$(LibName.O): $(ObjectsO) $(LibDir)/.dir
$(Echo) Linking $(BuildMode) Object Library $(notdir $@)
- $(Verb) $(Relink) -Wl,-r -nodefaultlibs -nostdlib -nostartfiles -o $@ $(ObjectsO)
+ $(Verb) $(Relink) -r -nodefaultlibs -nostdlib -nostartfiles -o $@ $(ObjectsO)
clean-local::
ifneq ($(strip $(LibName.O)),)
Modified: vendor/llvm/dist/autoconf/configure.ac
==============================================================================
--- vendor/llvm/dist/autoconf/configure.ac Sat Jun 6 07:29:19 2009 (r193573)
+++ vendor/llvm/dist/autoconf/configure.ac Sat Jun 6 08:20:29 2009 (r193574)
@@ -279,7 +279,7 @@ dnl===----------------------------------
dnl --enable-optimized : check whether they want to do an optimized build:
AC_ARG_ENABLE(optimized, AS_HELP_STRING(
- [--enable-optimized,Compile with optimizations enabled (default is NO)]),,enableval=$optimize)
+ --enable-optimized,[Compile with optimizations enabled (default is NO)]),,enableval=$optimize)
if test ${enableval} = "no" ; then
AC_SUBST(ENABLE_OPTIMIZED,[[]])
else
@@ -288,7 +288,7 @@ fi
dnl --enable-profiling : check whether they want to do a profile build:
AC_ARG_ENABLE(profiling, AS_HELP_STRING(
- [--enable-profiling,Compile with profiling enabled (default is NO)]),,enableval="no")
+ --enable-profiling,[Compile with profiling enabled (default is NO)]),,enableval="no")
if test ${enableval} = "no" ; then
AC_SUBST(ENABLE_PROFILING,[[]])
else
@@ -297,7 +297,7 @@ fi
dnl --enable-assertions : check whether they want to turn on assertions or not:
AC_ARG_ENABLE(assertions,AS_HELP_STRING(
- [--enable-assertions,Compile with assertion checks enabled (default is YES)]),, enableval="yes")
+ --enable-assertions,[Compile with assertion checks enabled (default is YES)]),, enableval="yes")
if test ${enableval} = "yes" ; then
AC_SUBST(DISABLE_ASSERTIONS,[[]])
else
@@ -306,7 +306,7 @@ fi
dnl --enable-expensive-checks : check whether they want to turn on expensive debug checks:
AC_ARG_ENABLE(expensive-checks,AS_HELP_STRING(
- [--enable-expensive-checks,Compile with expensive debug checks enabled (default is NO)]),, enableval="no")
+ --enable-expensive-checks,[Compile with expensive debug checks enabled (default is NO)]),, enableval="no")
if test ${enableval} = "yes" ; then
AC_SUBST(ENABLE_EXPENSIVE_CHECKS,[[ENABLE_EXPENSIVE_CHECKS=1]])
AC_SUBST(EXPENSIVE_CHECKS,[[yes]])
@@ -317,7 +317,7 @@ fi
dnl --enable-debug-runtime : should runtime libraries have debug symbols?
AC_ARG_ENABLE(debug-runtime,
- AS_HELP_STRING([--enable-debug-runtime,Build runtime libs with debug symbols (default is NO)]),,enableval=no)
+ AS_HELP_STRING(--enable-debug-runtime,[Build runtime libs with debug symbols (default is NO)]),,enableval=no)
if test ${enableval} = "no" ; then
AC_SUBST(DEBUG_RUNTIME,[[]])
else
@@ -553,6 +553,16 @@ if test "x$WITH_BINUTILS_INCDIR" != xdef
fi
fi
+dnl --enable-libffi : check whether the user wants to turn off libffi:
+AC_ARG_ENABLE(libffi,AS_HELP_STRING(
+ --enable-libffi,[Check for the presence of libffi (default is YES)]),,
+ enableval=yes)
+case "$enableval" in
+ yes) llvm_cv_enable_libffi="yes" ;;
+ no) llvm_cv_enable_libffi="no" ;;
+ *) AC_MSG_ERROR([Invalid setting for --enable-libffi. Use "yes" or "no"]) ;;
+esac
+
dnl===-----------------------------------------------------------------------===
dnl===
dnl=== SECTION 4: Check for programs we need and that they are the right version
@@ -769,9 +779,11 @@ AC_SEARCH_LIBS(dlopen,dl,AC_DEFINE([HAVE
AC_MSG_WARN([dlopen() not found - disabling plugin support]))
dnl libffi is optional; used to call external functions from the interpreter
-AC_SEARCH_LIBS(ffi_call,ffi,AC_DEFINE([HAVE_FFI_CALL],[1],
- [Define if libffi is available on this platform.]),
- AC_MSG_WARN([libffi not found - disabling external calls from interpreter]))
+if test "$llvm_cv_enable_libffi" = "yes" ; then
+ AC_SEARCH_LIBS(ffi_call,ffi,AC_DEFINE([HAVE_FFI_CALL],[1],
+ [Define if libffi is available on this platform.]),
+ AC_MSG_WARN([libffi not found - disabling external calls from interpreter]))
+fi
dnl mallinfo is optional; the code can compile (minus features) without it
AC_SEARCH_LIBS(mallinfo,malloc,AC_DEFINE([HAVE_MALLINFO],[1],
@@ -836,7 +848,9 @@ else
fi
dnl Try to find ffi.h.
-AC_CHECK_HEADERS([ffi.h ffi/ffi.h])
+if test "$llvm_cv_enable_libffi" = "yes" ; then
+ AC_CHECK_HEADERS([ffi.h ffi/ffi.h])
+fi
dnl===-----------------------------------------------------------------------===
dnl===
Modified: vendor/llvm/dist/cmake/config-ix.cmake
==============================================================================
--- vendor/llvm/dist/cmake/config-ix.cmake Sat Jun 6 07:29:19 2009 (r193573)
+++ vendor/llvm/dist/cmake/config-ix.cmake Sat Jun 6 08:20:29 2009 (r193574)
@@ -1,6 +1,7 @@
# include checks
include(CheckIncludeFile)
+check_include_file(alloca.h HAVE_ALLOCA_H)
check_include_file(argz.h HAVE_ARGZ_H)
check_include_file(assert.h HAVE_ASSERT_H)
check_include_file(dirent.h HAVE_DIRENT_H)
@@ -34,6 +35,7 @@ check_include_file(sys/resource.h HAVE_S
check_include_file(sys/stat.h HAVE_SYS_STAT_H)
check_include_file(sys/time.h HAVE_SYS_TIME_H)
check_include_file(sys/types.h HAVE_SYS_TYPES_H)
+check_include_file(sys/wait.h HAVE_SYS_WAIT_H)
check_include_file(termios.h HAVE_TERMIOS_H)
check_include_file(unistd.h HAVE_UNISTD_H)
check_include_file(utime.h HAVE_UTIME_H)
@@ -47,6 +49,7 @@ check_library_exists(dl dlopen "" HAVE_L
# function checks
include(CheckSymbolExists)
include(CheckFunctionExists)
+check_symbol_exists(alloca alloca.h HAVE_ALLOCA)
check_symbol_exists(getpagesize unistd.h HAVE_GETPAGESIZE)
check_symbol_exists(getrusage sys/resource.h HAVE_GETRUSAGE)
check_symbol_exists(setrlimit sys/resource.h HAVE_SETRLIMIT)
@@ -58,6 +61,8 @@ check_symbol_exists(isnan math.h HAVE_IS
check_symbol_exists(ceilf math.h HAVE_CEILF)
check_symbol_exists(floorf math.h HAVE_FLOORF)
check_symbol_exists(mallinfo malloc.h HAVE_MALLINFO)
+check_symbol_exists(malloc_zone_statistics malloc/malloc.h
+ HAVE_MALLOC_ZONE_STATISTICS)
check_symbol_exists(pthread_mutex_lock pthread.h HAVE_PTHREAD_MUTEX_LOCK)
check_symbol_exists(strtoll stdlib.h HAVE_STRTOLL)
Modified: vendor/llvm/dist/cmake/modules/AddLLVM.cmake
==============================================================================
--- vendor/llvm/dist/cmake/modules/AddLLVM.cmake Sat Jun 6 07:29:19 2009 (r193573)
+++ vendor/llvm/dist/cmake/modules/AddLLVM.cmake Sat Jun 6 08:20:29 2009 (r193574)
@@ -26,11 +26,11 @@ macro(add_llvm_executable name)
if( LLVM_LINK_COMPONENTS )
llvm_config(${name} ${LLVM_LINK_COMPONENTS})
endif( LLVM_LINK_COMPONENTS )
- if( MSVC )
+ if( USE_EXPLICIT_DEPENDENCIES )
target_link_libraries(${name} ${llvm_libs})
- else( MSVC )
+ else( )
add_dependencies(${name} llvm-config.target)
- endif( MSVC )
+ endif( )
get_system_libs(llvm_system_libs)
if( llvm_system_libs )
target_link_libraries(${name} ${llvm_system_libs})
Modified: vendor/llvm/dist/cmake/modules/AddPartiallyLinkedObject.cmake
==============================================================================
--- vendor/llvm/dist/cmake/modules/AddPartiallyLinkedObject.cmake Sat Jun 6 07:29:19 2009 (r193573)
+++ vendor/llvm/dist/cmake/modules/AddPartiallyLinkedObject.cmake Sat Jun 6 08:20:29 2009 (r193574)
@@ -1,18 +1,18 @@
include(LLVMProcessSources)
macro(target_name_of_partially_linked_object lib var)
- if( MSVC )
+ if( USE_EXPLICIT_DEPENDENCIES )
set(${var} ${lib})
- else( MSVC )
+ else( )
set(${var} ${lib}_pll)
- endif( MSVC )
+ endif( )
endmacro(target_name_of_partially_linked_object lib var)
macro(add_partially_linked_object lib)
- if( MSVC )
+ if( USE_EXPLICIT_DEPENDENCIES )
add_llvm_library( ${lib} ${ARGN})
- else( MSVC )
+ else( )
set(pll ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/${lib}.o)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/temp_lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/temp_lib)
@@ -36,7 +36,7 @@ macro(add_partially_linked_object lib)
add_custom_target(${tnplo} ALL DEPENDS ${pll})
set( llvm_libs ${llvm_libs} ${pll} PARENT_SCOPE)
set( llvm_lib_targets ${llvm_lib_targets} ${tnplo} PARENT_SCOPE )
- endif( MSVC )
+ endif( )
install(FILES ${pll}
DESTINATION lib)
endmacro(add_partially_linked_object lib)
Modified: vendor/llvm/dist/cmake/modules/LLVMConfig.cmake
==============================================================================
--- vendor/llvm/dist/cmake/modules/LLVMConfig.cmake Sat Jun 6 07:29:19 2009 (r193573)
+++ vendor/llvm/dist/cmake/modules/LLVMConfig.cmake Sat Jun 6 08:20:29 2009 (r193574)
@@ -21,36 +21,40 @@ endfunction(get_system_libs)
macro(llvm_config executable)
# extra args is the list of link components.
- if( MSVC )
- msvc_llvm_config(${executable} ${ARGN})
- else( MSVC )
+ if( USE_EXPLICIT_DEPENDENCIES )
+ explicit_llvm_config(${executable} ${ARGN})
+ else( )
nix_llvm_config(${executable} ${ARGN})
- endif( MSVC )
+ endif( )
endmacro(llvm_config)
-function(msvc_llvm_config executable)
+function(explicit_llvm_config executable)
set( link_components ${ARGN} )
- if( CMAKE_CL_64 )
- set(include_lflag "/INCLUDE:")
- else( CMAKE_CL_64 )
- set(include_lflag "/INCLUDE:_")
- endif()
- foreach(c ${link_components})
- if( c STREQUAL "jit" )
- set(lfgs "${lfgs} ${include_lflag}X86TargetMachineModule")
- endif( c STREQUAL "jit" )
- list(FIND LLVM_TARGETS_TO_BUILD ${c} idx)
- if( NOT idx LESS 0 )
- set(lfgs "${lfgs} ${include_lflag}${c}TargetMachineModule")
- list(FIND LLVM_ASMPRINTERS_FORCE_LINK ${c} idx)
+
+ set(lfgs)
+ if (MSVC)
+ if( CMAKE_CL_64 )
+ set(include_lflag "/INCLUDE:")
+ else( CMAKE_CL_64 )
+ set(include_lflag "/INCLUDE:_")
+ endif()
+ foreach(c ${link_components})
+ if( c STREQUAL "jit" )
+ set(lfgs "${lfgs} ${include_lflag}X86TargetMachineModule")
+ endif( c STREQUAL "jit" )
+ list(FIND LLVM_TARGETS_TO_BUILD ${c} idx)
if( NOT idx LESS 0 )
- set(lfgs "${lfgs} ${include_lflag}${c}AsmPrinterForceLink")
+ set(lfgs "${lfgs} ${include_lflag}${c}TargetMachineModule")
+ list(FIND LLVM_ASMPRINTERS_FORCE_LINK ${c} idx)
+ if( NOT idx LESS 0 )
+ set(lfgs "${lfgs} ${include_lflag}${c}AsmPrinterForceLink")
+ endif()
endif()
- endif()
- endforeach(c)
+ endforeach(c)
+ endif ()
- msvc_map_components_to_libraries(LIBRARIES ${link_components})
+ explicit_map_components_to_libraries(LIBRARIES ${link_components})
target_link_libraries(${executable} ${LIBRARIES})
if( lfgs )
@@ -58,10 +62,10 @@ function(msvc_llvm_config executable)
PROPERTIES
LINK_FLAGS ${lfgs})
endif()
-endfunction(msvc_llvm_config)
+endfunction(explicit_llvm_config)
-function(msvc_map_components_to_libraries out_libs)
+function(explicit_map_components_to_libraries out_libs)
set( link_components ${ARGN} )
foreach(c ${link_components})
# add codegen/asmprinter
@@ -121,7 +125,7 @@ function(msvc_map_components_to_librarie
endwhile( ${curr_idx} LESS ${lst_size} )
list(REMOVE_DUPLICATES result)
set(${out_libs} ${result} PARENT_SCOPE)
-endfunction(msvc_map_components_to_libraries)
+endfunction(explicit_map_components_to_libraries)
macro(nix_llvm_config executable)
Modified: vendor/llvm/dist/configure
==============================================================================
--- vendor/llvm/dist/configure Sat Jun 6 07:29:19 2009 (r193573)
+++ vendor/llvm/dist/configure Sat Jun 6 08:20:29 2009 (r193574)
@@ -1533,12 +1533,15 @@ if test -n "$ac_init_help"; then
Optional Features:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --enable-optimized
- --enable-profiling
- --enable-assertions
+ --enable-optimized Compile with optimizations enabled (default is NO)
+ --enable-profiling Compile with profiling enabled (default is NO)
+ --enable-assertions Compile with assertion checks enabled (default is
+ YES)
--enable-expensive-checks
-
- --enable-debug-runtime
+ Compile with expensive debug checks enabled (default
+ is NO)
+ --enable-debug-runtime Build runtime libs with debug symbols (default is
+ NO)
--enable-jit Enable Just In Time Compiling (default is YES)
--enable-doxygen Build doxygen documentation (default is NO)
--enable-threads Use threads if available (default is YES)
@@ -1550,6 +1553,7 @@ Optional Features:
%a (default is YES)
--enable-bindings Build specific language bindings:
all,auto,none,{binding-name} (default=auto)
+ --enable-libffi Check for the presence of libffi (default is YES)
--enable-ltdl-install install libltdl
--enable-shared[=PKGS] build shared libraries
[default=yes]
@@ -5111,6 +5115,21 @@ echo "$as_me: error: Invalid path to dir
fi
fi
+# Check whether --enable-libffi was given.
+if test "${enable_libffi+set}" = set; then
+ enableval=$enable_libffi;
+else
+ enableval=yes
+fi
+
+case "$enableval" in
+ yes) llvm_cv_enable_libffi="yes" ;;
+ no) llvm_cv_enable_libffi="no" ;;
+ *) { { echo "$as_me:$LINENO: error: Invalid setting for --enable-libffi. Use \"yes\" or \"no\"" >&5
+echo "$as_me: error: Invalid setting for --enable-libffi. Use \"yes\" or \"no\"" >&2;}
+ { (exit 1); exit 1; }; } ;;
+esac
+
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -10575,7 +10594,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 10578 "configure"
+#line 10597 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12719,7 +12738,7 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 12722 "configure"' > conftest.$ac_ext
+ echo '#line 12741 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -14437,11 +14456,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14440: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14459: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:14444: \$? = $ac_status" >&5
+ echo "$as_me:14463: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -14705,11 +14724,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14708: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14727: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:14712: \$? = $ac_status" >&5
+ echo "$as_me:14731: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -14809,11 +14828,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14812: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14831: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:14816: \$? = $ac_status" >&5
+ echo "$as_me:14835: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -17261,7 +17280,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 17264 "configure"
+#line 17283 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -17361,7 +17380,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 17364 "configure"
+#line 17383 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -19729,11 +19748,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:19732: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:19751: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:19736: \$? = $ac_status" >&5
+ echo "$as_me:19755: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -19833,11 +19852,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:19836: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:19855: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:19840: \$? = $ac_status" >&5
+ echo "$as_me:19859: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -21403,11 +21422,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:21406: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:21425: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:21410: \$? = $ac_status" >&5
+ echo "$as_me:21429: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -21507,11 +21526,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:21510: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:21529: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:21514: \$? = $ac_status" >&5
+ echo "$as_me:21533: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -23742,11 +23761,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:23745: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:23764: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:23749: \$? = $ac_status" >&5
+ echo "$as_me:23768: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -24010,11 +24029,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:24013: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:24032: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:24017: \$? = $ac_status" >&5
+ echo "$as_me:24036: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -24114,11 +24133,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:24117: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:24136: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:24121: \$? = $ac_status" >&5
+ echo "$as_me:24140: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -27473,7 +27492,8 @@ echo "$as_me: WARNING: dlopen() not foun
fi
-{ echo "$as_me:$LINENO: checking for library containing ffi_call" >&5
+if test "$llvm_cv_enable_libffi" = "yes" ; then
+ { echo "$as_me:$LINENO: checking for library containing ffi_call" >&5
echo $ECHO_N "checking for library containing ffi_call... $ECHO_C" >&6; }
if test "${ac_cv_search_ffi_call+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -27579,6 +27599,7 @@ else
echo "$as_me: WARNING: libffi not found - disabling external calls from interpreter" >&2;}
fi
+fi
{ echo "$as_me:$LINENO: checking for library containing mallinfo" >&5
echo $ECHO_N "checking for library containing mallinfo... $ECHO_C" >&6; }
@@ -29824,6 +29845,7 @@ else
fi
+if test "$llvm_cv_enable_libffi" = "yes" ; then
for ac_header in ffi.h ffi/ffi.h
@@ -29994,6 +30016,7 @@ fi
done
+fi
Modified: vendor/llvm/dist/docs/CMake.html
==============================================================================
--- vendor/llvm/dist/docs/CMake.html Sat Jun 6 07:29:19 2009 (r193573)
+++ vendor/llvm/dist/docs/CMake.html Sat Jun 6 08:20:29 2009 (r193574)
@@ -248,8 +248,8 @@
<dt><b>LLVM_ENABLE_THREADS</b>:BOOL</dt>
<dd>Build with threads support, if available. Defaults to ON.</dd>
- <dt><b>LLVM_ENABLE_ASSERTS</b>:BOOL</dt>
- <dd>Enables code asserts. Defaults to ON if and only if
+ <dt><b>LLVM_ENABLE_ASSERTIONS</b>:BOOL</dt>
+ <dd>Enables code assertions. Defaults to ON if and only if
CMAKE_BUILD_TYPE is <i>Release</i>.</dd>
<dt><b>LLVM_ENABLE_PIC</b>:BOOL</dt>
Modified: vendor/llvm/dist/docs/GoldPlugin.html
==============================================================================
--- vendor/llvm/dist/docs/GoldPlugin.html Sat Jun 6 07:29:19 2009 (r193573)
+++ vendor/llvm/dist/docs/GoldPlugin.html Sat Jun 6 08:20:29 2009 (r193574)
@@ -153,12 +153,21 @@ $ llvm-gcc -use-gold-plugin a.o b.o -o m
<pre class="doc_code">
export CC="$PREFIX/bin/llvm-gcc -use-gold-plugin"
export CXX="$PREFIX/bin/llvm-g++ -use-gold-plugin"
-export AR="$PREFIX/bin/ar --plugin libLLVMgold.so"
-export NM="$PREFIX/bin/nm --plugin libLLVMgold.so"
+export AR="$PREFIX/bin/ar"
+export NM="$PREFIX/bin/nm"
export RANLIB=/bin/true #ranlib is not needed, and doesn't support .bc files in .a
export CFLAGS="-O4"
</pre>
</li>
+ <li>Or you can just set your path:
+ <pre class="doc_code">
+export PATH="$PREFIX/bin:$PATH"
+export CC="llvm-gcc -use-gold-plugin"
+export CXX="llvm-g++ -use-gold-plugin"
+export RANLIB=/bin/true
+export CFLAGS="-O4"
+ </pre>
+ </li>
<li>Configure & build the project as usual: <tt>./configure && make && make check</tt> </li>
</ul>
<p> The environment variable settings may work for non-autotooled projects
Modified: vendor/llvm/dist/docs/LangRef.html
==============================================================================
--- vendor/llvm/dist/docs/LangRef.html Sat Jun 6 07:29:19 2009 (r193573)
+++ vendor/llvm/dist/docs/LangRef.html Sat Jun 6 08:20:29 2009 (r193574)
@@ -89,8 +89,11 @@
<li><a href="#binaryops">Binary Operations</a>
<ol>
<li><a href="#i_add">'<tt>add</tt>' Instruction</a></li>
+ <li><a href="#i_fadd">'<tt>fadd</tt>' Instruction</a></li>
<li><a href="#i_sub">'<tt>sub</tt>' Instruction</a></li>
+ <li><a href="#i_fsub">'<tt>fsub</tt>' Instruction</a></li>
<li><a href="#i_mul">'<tt>mul</tt>' Instruction</a></li>
+ <li><a href="#i_fmul">'<tt>fmul</tt>' Instruction</a></li>
<li><a href="#i_udiv">'<tt>udiv</tt>' Instruction</a></li>
<li><a href="#i_sdiv">'<tt>sdiv</tt>' Instruction</a></li>
<li><a href="#i_fdiv">'<tt>fdiv</tt>' Instruction</a></li>
@@ -2503,16 +2506,15 @@ The result value has the same type as it
<h5>Arguments:</h5>
<p>The two arguments to the '<tt>add</tt>' instruction must be <a
- href="#t_integer">integer</a>, <a href="#t_floating">floating point</a>, or
- <a href="#t_vector">vector</a> values. Both arguments must have identical
- types.</p>
+ href="#t_integer">integer</a> or
+ <a href="#t_vector">vector</a> of integer values. Both arguments must
+ have identical types.</p>
<h5>Semantics:</h5>
-<p>The value produced is the integer or floating point sum of the two
-operands.</p>
+<p>The value produced is the integer sum of the two operands.</p>
-<p>If an integer sum has unsigned overflow, the result returned is the
+<p>If the sum has unsigned overflow, the result returned is the
mathematical result modulo 2<sup>n</sup>, where n is the bit width of
the result.</p>
@@ -2527,6 +2529,39 @@ instruction is appropriate for both sign
</div>
<!-- _______________________________________________________________________ -->
<div class="doc_subsubsection">
+ <a name="i_fadd">'<tt>fadd</tt>' Instruction</a>
+</div>
+
+<div class="doc_text">
+
+<h5>Syntax:</h5>
+
+<pre>
+ <result> = fadd <ty> <op1>, <op2> <i>; yields {ty}:result</i>
+</pre>
+
+<h5>Overview:</h5>
+
+<p>The '<tt>fadd</tt>' instruction returns the sum of its two operands.</p>
+
+<h5>Arguments:</h5>
+
+<p>The two arguments to the '<tt>fadd</tt>' instruction must be
+<a href="#t_floating">floating point</a> or <a href="#t_vector">vector</a> of
+floating point values. Both arguments must have identical types.</p>
+
+<h5>Semantics:</h5>
+
+<p>The value produced is the floating point sum of the two operands.</p>
+
+<h5>Example:</h5>
+
+<pre>
+ <result> = fadd float 4.0, %var <i>; yields {float}:result = 4.0 + %var</i>
+</pre>
+</div>
+<!-- _______________________________________________________________________ -->
+<div class="doc_subsubsection">
<a name="i_sub">'<tt>sub</tt>' Instruction</a>
</div>
@@ -2550,16 +2585,14 @@ representations.</p>
<h5>Arguments:</h5>
<p>The two arguments to the '<tt>sub</tt>' instruction must be <a
- href="#t_integer">integer</a>, <a href="#t_floating">floating point</a>,
- or <a href="#t_vector">vector</a> values. Both arguments must have identical
- types.</p>
+ href="#t_integer">integer</a> or <a href="#t_vector">vector</a> of
+ integer values. Both arguments must have identical types.</p>
<h5>Semantics:</h5>
-<p>The value produced is the integer or floating point difference of
-the two operands.</p>
+<p>The value produced is the integer difference of the two operands.</p>
-<p>If an integer difference has unsigned overflow, the result returned is the
+<p>If the difference has unsigned overflow, the result returned is the
mathematical result modulo 2<sup>n</sup>, where n is the bit width of
the result.</p>
@@ -2575,6 +2608,45 @@ instruction is appropriate for both sign
<!-- _______________________________________________________________________ -->
<div class="doc_subsubsection">
+ <a name="i_fsub">'<tt>fsub</tt>' Instruction</a>
+</div>
+
+<div class="doc_text">
+
+<h5>Syntax:</h5>
+
+<pre>
+ <result> = fsub <ty> <op1>, <op2> <i>; yields {ty}:result</i>
+</pre>
+
+<h5>Overview:</h5>
+
+<p>The '<tt>fsub</tt>' instruction returns the difference of its two
+operands.</p>
+
+<p>Note that the '<tt>fsub</tt>' instruction is used to represent the
+'<tt>fneg</tt>' instruction present in most other intermediate
+representations.</p>
+
+<h5>Arguments:</h5>
+
+<p>The two arguments to the '<tt>fsub</tt>' instruction must be <a
+ <a href="#t_floating">floating point</a> or <a href="#t_vector">vector</a>
+ of floating point values. Both arguments must have identical types.</p>
+
+<h5>Semantics:</h5>
+
+<p>The value produced is the floating point difference of the two operands.</p>
+
+<h5>Example:</h5>
+<pre>
+ <result> = fsub float 4.0, %var <i>; yields {float}:result = 4.0 - %var</i>
+ <result> = fsub float -0.0, %val <i>; yields {float}:result = -%var</i>
+</pre>
+</div>
+
+<!-- _______________________________________________________________________ -->
+<div class="doc_subsubsection">
<a name="i_mul">'<tt>mul</tt>' Instruction</a>
</div>
@@ -2590,16 +2662,14 @@ operands.</p>
<h5>Arguments:</h5>
<p>The two arguments to the '<tt>mul</tt>' instruction must be <a
-href="#t_integer">integer</a>, <a href="#t_floating">floating point</a>,
-or <a href="#t_vector">vector</a> values. Both arguments must have identical
-types.</p>
+href="#t_integer">integer</a> or <a href="#t_vector">vector</a> of integer
+values. Both arguments must have identical types.</p>
<h5>Semantics:</h5>
-<p>The value produced is the integer or floating point product of the
-two operands.</p>
+<p>The value produced is the integer product of the two operands.</p>
-<p>If the result of an integer multiplication has unsigned overflow,
+<p>If the result of the multiplication has unsigned overflow,
the result returned is the mathematical result modulo
2<sup>n</sup>, where n is the bit width of the result.</p>
<p>Because LLVM integers use a two's complement representation, and the
@@ -2614,6 +2684,35 @@ width of the full product.</p>
</div>
<!-- _______________________________________________________________________ -->
+<div class="doc_subsubsection">
+ <a name="i_fmul">'<tt>fmul</tt>' Instruction</a>
+</div>
+
+<div class="doc_text">
+
+<h5>Syntax:</h5>
+<pre> <result> = fmul <ty> <op1>, <op2> <i>; yields {ty}:result</i>
+</pre>
+<h5>Overview:</h5>
+<p>The '<tt>fmul</tt>' instruction returns the product of its two
+operands.</p>
+
+<h5>Arguments:</h5>
+
+<p>The two arguments to the '<tt>fmul</tt>' instruction must be
+<a href="#t_floating">floating point</a> or <a href="#t_vector">vector</a>
+of floating point values. Both arguments must have identical types.</p>
+
+<h5>Semantics:</h5>
+
+<p>The value produced is the floating point product of the two operands.</p>
+
+<h5>Example:</h5>
+<pre> <result> = fmul float 4.0, %var <i>; yields {float}:result = 4.0 * %var</i>
+</pre>
+</div>
+
+<!-- _______________________________________________________________________ -->
<div class="doc_subsubsection"> <a name="i_udiv">'<tt>udiv</tt>' Instruction
</a></div>
<div class="doc_text">
@@ -7110,7 +7209,7 @@ declare void @llvm.stackprotector( i8* &
<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-06-03 12:20:10 +0200 (Wed, 03 Jun 2009) $
+ Last modified: $Date: 2009-06-05 00:49:04 +0200 (Fri, 05 Jun 2009) $
</address>
</body>
Modified: vendor/llvm/dist/include/llvm-c/lto.h
==============================================================================
--- vendor/llvm/dist/include/llvm-c/lto.h Sat Jun 6 07:29:19 2009 (r193573)
+++ vendor/llvm/dist/include/llvm-c/lto.h Sat Jun 6 08:20:29 2009 (r193574)
@@ -19,6 +19,8 @@
#include <stdbool.h>
#include <stddef.h>
+#define LTO_API_VERSION 3
+
typedef enum {
LTO_SYMBOL_ALIGNMENT_MASK = 0x0000001F, /* log2 of alignment */
LTO_SYMBOL_PERMISSIONS_MASK = 0x000000E0,
@@ -208,6 +210,14 @@ lto_codegen_set_gcc_path(lto_code_gen_t
/**
+ * Sets the location of the assembler tool to run. If not set, libLTO
+ * will use gcc to invoke the assembler.
+ */
+extern void
+lto_codegen_set_assembler_path(lto_code_gen_t cg, const char* path);
+
+
+/**
* Adds to a list of all global symbols that must exist in the final
* generated code. If a function is not listed, it might be
* inlined into every usage and optimized away.
Modified: vendor/llvm/dist/include/llvm/Analysis/Dominators.h
==============================================================================
--- vendor/llvm/dist/include/llvm/Analysis/Dominators.h Sat Jun 6 07:29:19 2009 (r193573)
+++ vendor/llvm/dist/include/llvm/Analysis/Dominators.h Sat Jun 6 08:20:29 2009 (r193574)
@@ -270,12 +270,17 @@ protected:
NewBBIDom = PredBlocks[i];
break;
}
- assert(i != PredBlocks.size() && "No reachable preds?");
+
+ // It's possible that none of the predecessors of NewBB are reachable;
+ // in that case, NewBB itself is unreachable, so nothing needs to be
+ // changed.
+ if (!NewBBIDom)
+ return;
+
for (i = i + 1; i < PredBlocks.size(); ++i) {
if (DT.isReachableFromEntry(PredBlocks[i]))
NewBBIDom = DT.findNearestCommonDominator(NewBBIDom, PredBlocks[i]);
}
- assert(NewBBIDom && "No immediate dominator found??");
// Create the new dominator tree node... and set the idom of NewBB.
DomTreeNodeBase<NodeT> *NewBBNode = DT.addNewBlock(NewBB, NewBBIDom);
Modified: vendor/llvm/dist/include/llvm/Analysis/ScalarEvolutionExpander.h
==============================================================================
--- vendor/llvm/dist/include/llvm/Analysis/ScalarEvolutionExpander.h Sat Jun 6 07:29:19 2009 (r193573)
+++ vendor/llvm/dist/include/llvm/Analysis/ScalarEvolutionExpander.h Sat Jun 6 08:20:29 2009 (r193574)
@@ -60,12 +60,7 @@ namespace llvm {
/// canonical induction variable of the specified type for the specified
/// loop (inserting one if there is none). A canonical induction variable
/// starts at zero and steps by one on each iteration.
- Value *getOrInsertCanonicalInductionVariable(const Loop *L, const Type *Ty){
- assert(Ty->isInteger() && "Can only insert integer induction variables!");
- SCEVHandle H = SE.getAddRecExpr(SE.getIntegerSCEV(0, Ty),
- SE.getIntegerSCEV(1, Ty), L);
- return expand(H);
- }
+ Value *getOrInsertCanonicalInductionVariable(const Loop *L, const Type *Ty);
/// addInsertedValue - Remember the specified instruction as being the
/// canonical form for the specified SCEV.
Modified: vendor/llvm/dist/include/llvm/Attributes.h
==============================================================================
--- vendor/llvm/dist/include/llvm/Attributes.h Sat Jun 6 07:29:19 2009 (r193573)
+++ vendor/llvm/dist/include/llvm/Attributes.h Sat Jun 6 08:20:29 2009 (r193574)
@@ -54,13 +54,17 @@ const Attributes Alignment = 31<<16; ///
// stored as log2 of alignment with +1 bias
// 0 means unaligned different from align 1
const Attributes NoCapture = 1<<21; ///< Function creates no aliases of pointer
+const Attributes NoRedZone = 1<<22; /// disable redzone
+const Attributes NoImplicitFloat = 1<<23; /// disable implicit floating point
+ /// instructions.
/// @brief Attributes that only apply to function parameters.
const Attributes ParameterOnly = ByVal | Nest | StructRet | NoCapture;
/// @brief Attributes that only apply to function.
const Attributes FunctionOnly = NoReturn | NoUnwind | ReadNone | ReadOnly |
- NoInline | AlwaysInline | OptimizeForSize | StackProtect | StackProtectReq;
+ NoInline | AlwaysInline | OptimizeForSize | StackProtect | StackProtectReq |
+ NoRedZone | NoImplicitFloat;
/// @brief Parameter attributes that do not apply to vararg call arguments.
const Attributes VarArgsIncompatible = StructRet;
Modified: vendor/llvm/dist/include/llvm/CodeGen/JITCodeEmitter.h
==============================================================================
--- vendor/llvm/dist/include/llvm/CodeGen/JITCodeEmitter.h Sat Jun 6 07:29:19 2009 (r193573)
+++ vendor/llvm/dist/include/llvm/CodeGen/JITCodeEmitter.h Sat Jun 6 08:20:29 2009 (r193574)
@@ -89,7 +89,7 @@ public:
/// emitByte - This callback is invoked when a byte needs to be written to the
/// output stream.
///
- void emitByte(unsigned char B) {
+ void emitByte(uint8_t B) {
if (CurBufferPtr != BufferEnd)
*CurBufferPtr++ = B;
}
@@ -99,10 +99,10 @@ public:
///
void emitWordLE(unsigned W) {
if (4 <= BufferEnd-CurBufferPtr) {
- *CurBufferPtr++ = (unsigned char)(W >> 0);
- *CurBufferPtr++ = (unsigned char)(W >> 8);
- *CurBufferPtr++ = (unsigned char)(W >> 16);
- *CurBufferPtr++ = (unsigned char)(W >> 24);
+ *CurBufferPtr++ = (uint8_t)(W >> 0);
+ *CurBufferPtr++ = (uint8_t)(W >> 8);
+ *CurBufferPtr++ = (uint8_t)(W >> 16);
+ *CurBufferPtr++ = (uint8_t)(W >> 24);
} else {
CurBufferPtr = BufferEnd;
}
@@ -113,10 +113,10 @@ public:
///
void emitWordBE(unsigned W) {
if (4 <= BufferEnd-CurBufferPtr) {
- *CurBufferPtr++ = (unsigned char)(W >> 24);
- *CurBufferPtr++ = (unsigned char)(W >> 16);
- *CurBufferPtr++ = (unsigned char)(W >> 8);
- *CurBufferPtr++ = (unsigned char)(W >> 0);
+ *CurBufferPtr++ = (uint8_t)(W >> 24);
+ *CurBufferPtr++ = (uint8_t)(W >> 16);
+ *CurBufferPtr++ = (uint8_t)(W >> 8);
+ *CurBufferPtr++ = (uint8_t)(W >> 0);
} else {
CurBufferPtr = BufferEnd;
}
@@ -127,14 +127,14 @@ public:
///
void emitDWordLE(uint64_t W) {
if (8 <= BufferEnd-CurBufferPtr) {
- *CurBufferPtr++ = (unsigned char)(W >> 0);
- *CurBufferPtr++ = (unsigned char)(W >> 8);
- *CurBufferPtr++ = (unsigned char)(W >> 16);
- *CurBufferPtr++ = (unsigned char)(W >> 24);
- *CurBufferPtr++ = (unsigned char)(W >> 32);
- *CurBufferPtr++ = (unsigned char)(W >> 40);
- *CurBufferPtr++ = (unsigned char)(W >> 48);
- *CurBufferPtr++ = (unsigned char)(W >> 56);
+ *CurBufferPtr++ = (uint8_t)(W >> 0);
+ *CurBufferPtr++ = (uint8_t)(W >> 8);
+ *CurBufferPtr++ = (uint8_t)(W >> 16);
+ *CurBufferPtr++ = (uint8_t)(W >> 24);
+ *CurBufferPtr++ = (uint8_t)(W >> 32);
+ *CurBufferPtr++ = (uint8_t)(W >> 40);
+ *CurBufferPtr++ = (uint8_t)(W >> 48);
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-all
mailing list