From owner-svn-src-vendor@FreeBSD.ORG Tue Dec 15 18:09:08 2009 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0AFFB1065672; Tue, 15 Dec 2009 18:09:08 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E67FD8FC13; Tue, 15 Dec 2009 18:09:07 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nBFI97Wf070931; Tue, 15 Dec 2009 18:09:07 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nBFI97g1070920; Tue, 15 Dec 2009 18:09:07 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200912151809.nBFI97g1070920@svn.freebsd.org> From: Roman Divacky Date: Tue, 15 Dec 2009 18:09:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r200581 - in vendor/llvm/dist: . autoconf cmake/modules docs include/llvm include/llvm/ADT include/llvm/Analysis include/llvm/Bitcode include/llvm/CodeGen include/llvm/CompilerDriver in... X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Dec 2009 18:09:08 -0000 Author: rdivacky Date: Tue Dec 15 18:09:07 2009 New Revision: 200581 URL: http://svn.freebsd.org/changeset/base/200581 Log: Update LLVM to 91430. Added: vendor/llvm/dist/include/llvm/ADT/DeltaAlgorithm.h vendor/llvm/dist/include/llvm/Analysis/PHITransAddr.h vendor/llvm/dist/include/llvm/CodeGen/CalcSpillWeights.h vendor/llvm/dist/include/llvm/CodeGen/MachineSSAUpdater.h vendor/llvm/dist/lib/Analysis/PHITransAddr.cpp vendor/llvm/dist/lib/CodeGen/CalcSpillWeights.cpp vendor/llvm/dist/lib/CodeGen/MachineSSAUpdater.cpp vendor/llvm/dist/lib/CodeGen/MaxStackAlignment.cpp vendor/llvm/dist/lib/Support/DeltaAlgorithm.cpp vendor/llvm/dist/test/CodeGen/ARM/2009-12-02-vtrn-undef.ll vendor/llvm/dist/test/CodeGen/ARM/inlineasm3.ll vendor/llvm/dist/test/CodeGen/MSP430/bit.ll vendor/llvm/dist/test/CodeGen/MSP430/setcc.ll vendor/llvm/dist/test/CodeGen/Thumb2/2009-12-01-LoopIVUsers.ll vendor/llvm/dist/test/CodeGen/X86/2009-12-01-EarlyClobberBug.ll vendor/llvm/dist/test/CodeGen/X86/2009-12-11-TLSNoRedZone.ll vendor/llvm/dist/test/CodeGen/X86/2009-12-12-CoalescerBug.ll vendor/llvm/dist/test/CodeGen/X86/3addr-16bit.ll vendor/llvm/dist/test/CodeGen/X86/fastcc3struct.ll vendor/llvm/dist/test/CodeGen/X86/select-aggregate.ll vendor/llvm/dist/test/CodeGen/X86/setcc.ll vendor/llvm/dist/test/CodeGen/X86/splat-scalar-load.ll vendor/llvm/dist/test/CodeGen/X86/vec-trunc-store.ll vendor/llvm/dist/test/CodeGen/X86/vec_compare-2.ll vendor/llvm/dist/test/CodeGen/X86/vec_ext_inreg.ll vendor/llvm/dist/test/CodeGen/X86/zext-shl.ll vendor/llvm/dist/test/DebugInfo/2009-12-01-CurrentFn.ll vendor/llvm/dist/test/FrontendC++/weak-external.cpp vendor/llvm/dist/test/FrontendC/2009-12-07-BitFieldAlignment.c vendor/llvm/dist/test/LLVMC/AppendCmdHook.td vendor/llvm/dist/test/LLVMC/ForwardTransformedValue.td vendor/llvm/dist/test/LLVMC/ForwardValue.td vendor/llvm/dist/test/LLVMC/HookWithInFile.td vendor/llvm/dist/test/LLVMC/Init.td vendor/llvm/dist/test/LLVMC/OutputSuffixHook.td vendor/llvm/dist/test/Transforms/GVN/crash-no-aa.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/indirectbr.ll vendor/llvm/dist/test/Transforms/InstCombine/sext.ll vendor/llvm/dist/test/Transforms/LICM/2009-12-10-LICM-Indbr-Crash.ll vendor/llvm/dist/tools/llvmc/plugins/Base/Hooks.cpp vendor/llvm/dist/unittests/ADT/DeltaAlgorithmTest.cpp Deleted: vendor/llvm/dist/include/llvm/CodeGen/BreakCriticalMachineEdge.h vendor/llvm/dist/test/CodeGen/ARM/2008-11-19-ScavengerAssert.ll vendor/llvm/dist/test/DebugInfo/2008-10-17-C++DebugCrash.ll vendor/llvm/dist/test/DebugInfo/2008-11-05-InlinedFuncStart.ll vendor/llvm/dist/test/DebugInfo/2009-01-15-RecordVariableCrash.ll vendor/llvm/dist/test/DebugInfo/2009-02-18-DefaultScope-Crash.ll vendor/llvm/dist/test/DebugInfo/2009-06-12-Inline.ll vendor/llvm/dist/test/DebugInfo/2009-06-12-InlineFuncStart.ll vendor/llvm/dist/test/DebugInfo/2009-06-15-InlineFuncStart.ll vendor/llvm/dist/test/DebugInfo/2009-06-15-abstract_origin.ll vendor/llvm/dist/test/Transforms/DeadStoreElimination/lifetime-simple.ll vendor/llvm/dist/test/Transforms/GVN/rle-dominated.ll vendor/llvm/dist/test/Transforms/InstCombine/sext-misc.ll vendor/llvm/dist/test/Transforms/InstCombine/xor-demorgans.ll Modified: vendor/llvm/dist/CMakeLists.txt vendor/llvm/dist/Makefile vendor/llvm/dist/Makefile.config.in vendor/llvm/dist/autoconf/configure.ac vendor/llvm/dist/cmake/modules/CheckAtomic.cmake vendor/llvm/dist/configure vendor/llvm/dist/docs/CompilerDriver.html vendor/llvm/dist/docs/GettingStarted.html vendor/llvm/dist/docs/LangRef.html vendor/llvm/dist/docs/Makefile vendor/llvm/dist/include/llvm/ADT/DenseMap.h vendor/llvm/dist/include/llvm/ADT/DenseMapInfo.h vendor/llvm/dist/include/llvm/ADT/DenseSet.h vendor/llvm/dist/include/llvm/ADT/ImmutableList.h vendor/llvm/dist/include/llvm/ADT/PointerIntPair.h vendor/llvm/dist/include/llvm/ADT/SmallVector.h vendor/llvm/dist/include/llvm/ADT/StringSwitch.h vendor/llvm/dist/include/llvm/ADT/ValueMap.h vendor/llvm/dist/include/llvm/ADT/ilist.h vendor/llvm/dist/include/llvm/Analysis/AliasSetTracker.h vendor/llvm/dist/include/llvm/Analysis/DebugInfo.h vendor/llvm/dist/include/llvm/Analysis/IVUsers.h vendor/llvm/dist/include/llvm/Analysis/LoopDependenceAnalysis.h vendor/llvm/dist/include/llvm/Analysis/LoopInfo.h vendor/llvm/dist/include/llvm/Analysis/LoopPass.h vendor/llvm/dist/include/llvm/Analysis/MemoryDependenceAnalysis.h vendor/llvm/dist/include/llvm/Analysis/Passes.h vendor/llvm/dist/include/llvm/Analysis/ProfileInfo.h vendor/llvm/dist/include/llvm/Argument.h vendor/llvm/dist/include/llvm/Bitcode/Deserialize.h vendor/llvm/dist/include/llvm/CallingConv.h vendor/llvm/dist/include/llvm/CodeGen/DAGISelHeader.h vendor/llvm/dist/include/llvm/CodeGen/FastISel.h vendor/llvm/dist/include/llvm/CodeGen/LinkAllCodegenComponents.h vendor/llvm/dist/include/llvm/CodeGen/LiveIntervalAnalysis.h vendor/llvm/dist/include/llvm/CodeGen/LiveVariables.h vendor/llvm/dist/include/llvm/CodeGen/MachineFrameInfo.h vendor/llvm/dist/include/llvm/CodeGen/MachineInstr.h vendor/llvm/dist/include/llvm/CodeGen/Passes.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/SlotIndexes.h vendor/llvm/dist/include/llvm/CodeGen/ValueTypes.h vendor/llvm/dist/include/llvm/CodeGen/ValueTypes.td vendor/llvm/dist/include/llvm/CompilerDriver/Common.td vendor/llvm/dist/include/llvm/IntrinsicInst.h vendor/llvm/dist/include/llvm/Intrinsics.td vendor/llvm/dist/include/llvm/LinkAllVMCore.h vendor/llvm/dist/include/llvm/Pass.h vendor/llvm/dist/include/llvm/Support/CommandLine.h vendor/llvm/dist/include/llvm/Support/Compiler.h vendor/llvm/dist/include/llvm/Support/Debug.h vendor/llvm/dist/include/llvm/Support/DebugLoc.h vendor/llvm/dist/include/llvm/Support/ErrorHandling.h vendor/llvm/dist/include/llvm/Support/GetElementPtrTypeIterator.h vendor/llvm/dist/include/llvm/Support/IRBuilder.h vendor/llvm/dist/include/llvm/Support/ValueHandle.h vendor/llvm/dist/include/llvm/Support/raw_ostream.h vendor/llvm/dist/include/llvm/Support/type_traits.h vendor/llvm/dist/include/llvm/System/Atomic.h vendor/llvm/dist/include/llvm/System/DataTypes.h.cmake vendor/llvm/dist/include/llvm/System/DataTypes.h.in vendor/llvm/dist/include/llvm/Target/TargetData.h vendor/llvm/dist/include/llvm/Target/TargetInstrInfo.h vendor/llvm/dist/include/llvm/Target/TargetLowering.h vendor/llvm/dist/include/llvm/Target/TargetRegisterInfo.h vendor/llvm/dist/lib/Analysis/CMakeLists.txt vendor/llvm/dist/lib/Analysis/CaptureTracking.cpp vendor/llvm/dist/lib/Analysis/ConstantFolding.cpp vendor/llvm/dist/lib/Analysis/DebugInfo.cpp vendor/llvm/dist/lib/Analysis/IPA/Andersens.cpp vendor/llvm/dist/lib/Analysis/IVUsers.cpp vendor/llvm/dist/lib/Analysis/LoopInfo.cpp vendor/llvm/dist/lib/Analysis/MemoryDependenceAnalysis.cpp vendor/llvm/dist/lib/Analysis/ProfileEstimatorPass.cpp vendor/llvm/dist/lib/Analysis/ProfileInfo.cpp vendor/llvm/dist/lib/Analysis/ProfileInfoLoaderPass.cpp vendor/llvm/dist/lib/Analysis/ProfileVerifierPass.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/LLParser.h vendor/llvm/dist/lib/AsmParser/LLToken.h vendor/llvm/dist/lib/Bitcode/Reader/Deserialize.cpp vendor/llvm/dist/lib/CodeGen/AggressiveAntiDepBreaker.cpp vendor/llvm/dist/lib/CodeGen/AggressiveAntiDepBreaker.h 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/BranchFolding.cpp vendor/llvm/dist/lib/CodeGen/CMakeLists.txt vendor/llvm/dist/lib/CodeGen/CodePlacementOpt.cpp vendor/llvm/dist/lib/CodeGen/CriticalAntiDepBreaker.cpp vendor/llvm/dist/lib/CodeGen/LLVMTargetMachine.cpp vendor/llvm/dist/lib/CodeGen/LiveInterval.cpp vendor/llvm/dist/lib/CodeGen/LiveIntervalAnalysis.cpp vendor/llvm/dist/lib/CodeGen/LiveVariables.cpp vendor/llvm/dist/lib/CodeGen/LowerSubregs.cpp vendor/llvm/dist/lib/CodeGen/MachineBasicBlock.cpp vendor/llvm/dist/lib/CodeGen/MachineFunction.cpp vendor/llvm/dist/lib/CodeGen/MachineInstr.cpp vendor/llvm/dist/lib/CodeGen/MachineLoopInfo.cpp vendor/llvm/dist/lib/CodeGen/MachineVerifier.cpp vendor/llvm/dist/lib/CodeGen/PHIElimination.cpp vendor/llvm/dist/lib/CodeGen/PHIElimination.h vendor/llvm/dist/lib/CodeGen/PostRASchedulerList.cpp vendor/llvm/dist/lib/CodeGen/PreAllocSplitting.cpp vendor/llvm/dist/lib/CodeGen/PrologEpilogInserter.cpp vendor/llvm/dist/lib/CodeGen/RegAllocLinearScan.cpp vendor/llvm/dist/lib/CodeGen/RegAllocPBQP.cpp vendor/llvm/dist/lib/CodeGen/RegisterScavenging.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/LegalizeTypes.h vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp 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/SelectionDAGPrinter.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/TargetLowering.cpp vendor/llvm/dist/lib/CodeGen/SimpleRegisterCoalescing.cpp vendor/llvm/dist/lib/CodeGen/SimpleRegisterCoalescing.h vendor/llvm/dist/lib/CodeGen/Spiller.cpp vendor/llvm/dist/lib/CodeGen/Spiller.h vendor/llvm/dist/lib/CodeGen/StackSlotColoring.cpp vendor/llvm/dist/lib/CodeGen/TailDuplication.cpp vendor/llvm/dist/lib/CodeGen/TargetInstrInfoImpl.cpp vendor/llvm/dist/lib/CodeGen/TwoAddressInstructionPass.cpp vendor/llvm/dist/lib/CodeGen/VirtRegRewriter.cpp vendor/llvm/dist/lib/ExecutionEngine/JIT/JIT.cpp vendor/llvm/dist/lib/ExecutionEngine/JIT/JITDwarfEmitter.cpp vendor/llvm/dist/lib/ExecutionEngine/JIT/OProfileJITEventListener.cpp vendor/llvm/dist/lib/Support/CMakeLists.txt vendor/llvm/dist/lib/Support/CommandLine.cpp vendor/llvm/dist/lib/Support/MemoryBuffer.cpp vendor/llvm/dist/lib/Support/raw_ostream.cpp vendor/llvm/dist/lib/System/Atomic.cpp vendor/llvm/dist/lib/System/Host.cpp vendor/llvm/dist/lib/System/Unix/Path.inc vendor/llvm/dist/lib/Target/ARM/ARM.h vendor/llvm/dist/lib/Target/ARM/ARMBaseInstrInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMBaseInstrInfo.h vendor/llvm/dist/lib/Target/ARM/ARMBaseRegisterInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMConstantIslandPass.cpp vendor/llvm/dist/lib/Target/ARM/ARMExpandPseudoInsts.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.cpp vendor/llvm/dist/lib/Target/ARM/ARMInstrInfo.h vendor/llvm/dist/lib/Target/ARM/ARMInstrInfo.td vendor/llvm/dist/lib/Target/ARM/ARMInstrNEON.td vendor/llvm/dist/lib/Target/ARM/ARMInstrThumb.td vendor/llvm/dist/lib/Target/ARM/ARMInstrThumb2.td vendor/llvm/dist/lib/Target/ARM/ARMLoadStoreOptimizer.cpp vendor/llvm/dist/lib/Target/ARM/ARMTargetMachine.cpp vendor/llvm/dist/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp vendor/llvm/dist/lib/Target/ARM/NEONMoveFix.cpp vendor/llvm/dist/lib/Target/ARM/NEONPreAllocPass.cpp vendor/llvm/dist/lib/Target/ARM/Thumb1InstrInfo.cpp vendor/llvm/dist/lib/Target/ARM/Thumb1InstrInfo.h vendor/llvm/dist/lib/Target/ARM/Thumb1RegisterInfo.cpp vendor/llvm/dist/lib/Target/ARM/Thumb2InstrInfo.cpp vendor/llvm/dist/lib/Target/ARM/Thumb2InstrInfo.h vendor/llvm/dist/lib/Target/ARM/Thumb2SizeReduction.cpp vendor/llvm/dist/lib/Target/Alpha/AlphaInstrInfo.cpp vendor/llvm/dist/lib/Target/Alpha/AlphaInstrInfo.h vendor/llvm/dist/lib/Target/CBackend/CBackend.cpp vendor/llvm/dist/lib/Target/CellSPU/SPUInstrInfo.cpp vendor/llvm/dist/lib/Target/CellSPU/SPUInstrInfo.h vendor/llvm/dist/lib/Target/CppBackend/CPPBackend.cpp vendor/llvm/dist/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/MSP430/MSP430ISelLowering.cpp vendor/llvm/dist/lib/Target/MSP430/MSP430ISelLowering.h vendor/llvm/dist/lib/Target/MSP430/MSP430InstrInfo.cpp vendor/llvm/dist/lib/Target/MSP430/MSP430InstrInfo.h vendor/llvm/dist/lib/Target/MSP430/MSP430InstrInfo.td vendor/llvm/dist/lib/Target/MSP430/MSP430MachineFunctionInfo.h vendor/llvm/dist/lib/Target/MSP430/MSP430RegisterInfo.cpp vendor/llvm/dist/lib/Target/Mips/MipsInstrInfo.cpp vendor/llvm/dist/lib/Target/Mips/MipsInstrInfo.h vendor/llvm/dist/lib/Target/PowerPC/PPCInstrInfo.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCInstrInfo.h vendor/llvm/dist/lib/Target/README.txt vendor/llvm/dist/lib/Target/SystemZ/SystemZInstrInfo.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZInstrInfo.h vendor/llvm/dist/lib/Target/SystemZ/SystemZRegisterInfo.cpp vendor/llvm/dist/lib/Target/TargetData.cpp vendor/llvm/dist/lib/Target/X86/X86.h vendor/llvm/dist/lib/Target/X86/X86COFFMachineModuleInfo.h vendor/llvm/dist/lib/Target/X86/X86CallingConv.td vendor/llvm/dist/lib/Target/X86/X86FloatingPoint.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/X86InstrInfo.cpp vendor/llvm/dist/lib/Target/X86/X86InstrInfo.h vendor/llvm/dist/lib/Target/X86/X86InstrInfo.td vendor/llvm/dist/lib/Target/X86/X86InstrSSE.td vendor/llvm/dist/lib/Target/X86/X86RegisterInfo.cpp vendor/llvm/dist/lib/Target/X86/X86Subtarget.cpp vendor/llvm/dist/lib/Target/X86/X86TargetMachine.cpp vendor/llvm/dist/lib/Target/XCore/XCoreInstrInfo.cpp vendor/llvm/dist/lib/Target/XCore/XCoreInstrInfo.h vendor/llvm/dist/lib/Transforms/IPO/GlobalOpt.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/MaximumSpanningTree.h vendor/llvm/dist/lib/Transforms/Scalar/CodeGenPrepare.cpp vendor/llvm/dist/lib/Transforms/Scalar/DeadStoreElimination.cpp vendor/llvm/dist/lib/Transforms/Scalar/GVN.cpp vendor/llvm/dist/lib/Transforms/Scalar/InstructionCombining.cpp vendor/llvm/dist/lib/Transforms/Scalar/JumpThreading.cpp vendor/llvm/dist/lib/Transforms/Scalar/LICM.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopStrengthReduce.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopUnswitch.cpp vendor/llvm/dist/lib/Transforms/Scalar/SCCVN.cpp vendor/llvm/dist/lib/Transforms/Scalar/ScalarReplAggregates.cpp vendor/llvm/dist/lib/Transforms/Scalar/SimplifyHalfPowrLibCalls.cpp vendor/llvm/dist/lib/Transforms/Scalar/SimplifyLibCalls.cpp vendor/llvm/dist/lib/Transforms/Utils/BasicBlockUtils.cpp vendor/llvm/dist/lib/Transforms/Utils/Local.cpp vendor/llvm/dist/lib/Transforms/Utils/LowerSwitch.cpp vendor/llvm/dist/lib/Transforms/Utils/PromoteMemoryToRegister.cpp vendor/llvm/dist/lib/Transforms/Utils/SSAUpdater.cpp vendor/llvm/dist/lib/Transforms/Utils/SimplifyCFG.cpp vendor/llvm/dist/lib/VMCore/AsmWriter.cpp vendor/llvm/dist/lib/VMCore/BasicBlock.cpp vendor/llvm/dist/lib/VMCore/Constants.cpp vendor/llvm/dist/lib/VMCore/Function.cpp vendor/llvm/dist/lib/VMCore/LLVMContextImpl.h vendor/llvm/dist/lib/VMCore/Pass.cpp vendor/llvm/dist/lib/VMCore/PassManager.cpp vendor/llvm/dist/test/Analysis/BasicAA/modref.ll vendor/llvm/dist/test/CMakeLists.txt vendor/llvm/dist/test/CodeGen/CellSPU/and_ops.ll vendor/llvm/dist/test/CodeGen/CellSPU/call_indirect.ll vendor/llvm/dist/test/CodeGen/Thumb2/large-stack.ll vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-spill-q.ll vendor/llvm/dist/test/CodeGen/X86/2007-01-08-InstrSched.ll vendor/llvm/dist/test/CodeGen/X86/2009-09-10-SpillComments.ll vendor/llvm/dist/test/CodeGen/X86/2009-09-19-SchedCustomLoweringBug.ll vendor/llvm/dist/test/CodeGen/X86/sink-hoist.ll vendor/llvm/dist/test/CodeGen/X86/sse2.ll vendor/llvm/dist/test/CodeGen/X86/sse3.ll vendor/llvm/dist/test/CodeGen/X86/tail-opts.ll vendor/llvm/dist/test/CodeGen/X86/tailcallstack64.ll vendor/llvm/dist/test/CodeGen/X86/unaligned-load.ll vendor/llvm/dist/test/CodeGen/X86/widen_arith-3.ll vendor/llvm/dist/test/FrontendC++/2006-11-06-StackTrace.cpp vendor/llvm/dist/test/FrontendC++/2006-11-30-NoCompileUnit.cpp vendor/llvm/dist/test/FrontendC++/2006-11-30-Pubnames.cpp vendor/llvm/dist/test/FrontendC++/2009-07-15-LineNumbers.cpp vendor/llvm/dist/test/FrontendC/2005-06-15-ExpandGotoInternalProblem.c vendor/llvm/dist/test/FrontendC/2005-09-24-AsmUserPrefix.c vendor/llvm/dist/test/FrontendC/2006-01-13-StackSave.c vendor/llvm/dist/test/FrontendC/2006-01-23-FileScopeAsm.c vendor/llvm/dist/test/FrontendC/2006-03-03-MissingInitializer.c vendor/llvm/dist/test/FrontendC/2007-01-24-InlineAsmCModifier.c vendor/llvm/dist/test/FrontendC/2007-04-11-InlineAsmStruct.c vendor/llvm/dist/test/FrontendC/2007-04-11-InlineAsmUnion.c vendor/llvm/dist/test/FrontendC/2007-04-11-InlineStorageClassC89.c vendor/llvm/dist/test/FrontendC/2007-04-11-InlineStorageClassC99.c vendor/llvm/dist/test/FrontendC/2007-08-01-LoadStoreAlign.c vendor/llvm/dist/test/FrontendC/2007-12-VarArrayDebug.c vendor/llvm/dist/test/FrontendC/2009-02-17-BitField-dbg.c vendor/llvm/dist/test/FrontendC/BasicInstrs.c vendor/llvm/dist/test/FrontendC/extern-weak.c vendor/llvm/dist/test/FrontendC/unaligned-memcpy.c vendor/llvm/dist/test/FrontendObjC/2009-08-17-DebugInfo.m vendor/llvm/dist/test/FrontendObjC/2009-11-30-Objc-ID.m vendor/llvm/dist/test/LLVMC/EmptyCompilationGraph.td vendor/llvm/dist/test/LLVMC/EnvParentheses.td vendor/llvm/dist/test/LLVMC/ExternOptions.td vendor/llvm/dist/test/LLVMC/ForwardAs.td vendor/llvm/dist/test/LLVMC/HookWithArguments.td vendor/llvm/dist/test/LLVMC/MultiValuedOption.td vendor/llvm/dist/test/LLVMC/MultipleCompilationGraphs.td vendor/llvm/dist/test/LLVMC/NoActions.td vendor/llvm/dist/test/LLVMC/NoCompilationGraph.td vendor/llvm/dist/test/LLVMC/OneOrMore.td vendor/llvm/dist/test/LLVMC/OptionPreprocessor.td vendor/llvm/dist/test/LLVMC/TestWarnings.td vendor/llvm/dist/test/Transforms/ConstProp/loads.ll vendor/llvm/dist/test/Transforms/DeadStoreElimination/const-pointers.ll vendor/llvm/dist/test/Transforms/GVN/crash.ll vendor/llvm/dist/test/Transforms/GVN/lifetime-simple.ll vendor/llvm/dist/test/Transforms/GVN/rle.ll vendor/llvm/dist/test/Transforms/GlobalOpt/2009-02-15-ResolveAlias.ll vendor/llvm/dist/test/Transforms/InstCombine/compare-signs.ll vendor/llvm/dist/test/Transforms/InstCombine/crash.ll vendor/llvm/dist/test/Transforms/JumpThreading/crash.ll vendor/llvm/dist/test/Unit/lit.cfg vendor/llvm/dist/test/lit.cfg vendor/llvm/dist/tools/llvmc/doc/LLVMC-Reference.rst vendor/llvm/dist/tools/llvmc/example/mcc16/plugins/PIC16Base/PIC16Base.td vendor/llvm/dist/tools/llvmc/plugins/Base/Base.td.in vendor/llvm/dist/tools/llvmc/plugins/Clang/Clang.td vendor/llvm/dist/tools/opt/opt.cpp vendor/llvm/dist/unittests/ExecutionEngine/JIT/JITTest.cpp vendor/llvm/dist/unittests/ExecutionEngine/JIT/Makefile vendor/llvm/dist/utils/NewNightlyTest.pl vendor/llvm/dist/utils/TableGen/CodeEmitterGen.cpp vendor/llvm/dist/utils/TableGen/CodeEmitterGen.h vendor/llvm/dist/utils/TableGen/CodeGenDAGPatterns.h vendor/llvm/dist/utils/TableGen/LLVMCConfigurationEmitter.cpp vendor/llvm/dist/utils/TableGen/OptParserEmitter.cpp vendor/llvm/dist/utils/TableGen/RegisterInfoEmitter.cpp vendor/llvm/dist/utils/lit/lit.py Modified: vendor/llvm/dist/CMakeLists.txt ============================================================================== --- vendor/llvm/dist/CMakeLists.txt Tue Dec 15 16:15:14 2009 (r200580) +++ vendor/llvm/dist/CMakeLists.txt Tue Dec 15 18:09:07 2009 (r200581) @@ -191,7 +191,13 @@ set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LL add_llvm_definitions( -D__STDC_LIMIT_MACROS ) add_llvm_definitions( -D__STDC_CONSTANT_MACROS ) -option(LLVM_ENABLE_WARNINGS "Enable compiler warnings." ON) +# MSVC has a gazillion warnings with this. +if( MSVC ) + option(LLVM_ENABLE_WARNINGS "Enable compiler warnings." OFF) +else( MSVC ) + option(LLVM_ENABLE_WARNINGS "Enable compiler warnings." ON) +endif() + option(LLVM_ENABLE_PEDANTIC "Compile with pedantic enabled." ON) option(LLVM_ENABLE_WERROR "Fail and stop if a warning is triggered." OFF) Modified: vendor/llvm/dist/Makefile ============================================================================== --- vendor/llvm/dist/Makefile Tue Dec 15 16:15:14 2009 (r200580) +++ vendor/llvm/dist/Makefile Tue Dec 15 18:09:07 2009 (r200581) @@ -66,8 +66,7 @@ ifeq ($(MAKECMDGOALS),tools-only) endif ifeq ($(MAKECMDGOALS),install-clang) - DIRS := tools/clang/tools/driver tools/clang/tools/clang-cc \ - tools/clang/lib/Headers tools/clang/docs + DIRS := tools/clang/tools/driver tools/clang/lib/Headers tools/clang/docs OPTIONAL_DIRS := NO_INSTALL = 1 endif Modified: vendor/llvm/dist/Makefile.config.in ============================================================================== --- vendor/llvm/dist/Makefile.config.in Tue Dec 15 16:15:14 2009 (r200580) +++ vendor/llvm/dist/Makefile.config.in Tue Dec 15 18:09:07 2009 (r200581) @@ -313,7 +313,7 @@ endif # Location of the plugin header file for gold. BINUTILS_INCDIR := @BINUTILS_INCDIR@ -C_INCLUDE_DIRS := @C_INCLUDE_DISR@ +C_INCLUDE_DIRS := @C_INCLUDE_DIRS@ CXX_INCLUDE_ROOT := @CXX_INCLUDE_ROOT@ CXX_INCLUDE_ARCH := @CXX_INCLUDE_ARCH@ CXX_INCLUDE_32BIT_DIR = @CXX_INCLUDE_32BIT_DIR@ Modified: vendor/llvm/dist/autoconf/configure.ac ============================================================================== --- vendor/llvm/dist/autoconf/configure.ac Tue Dec 15 16:15:14 2009 (r200580) +++ vendor/llvm/dist/autoconf/configure.ac Tue Dec 15 18:09:07 2009 (r200581) @@ -672,7 +672,7 @@ case "$withval" in *) AC_MSG_ERROR([Invalid path for --with-ocaml-libdir. Provide full path]) ;; esac -AC_ARG_WITH(c-include-dir, +AC_ARG_WITH(c-include-dirs, AS_HELP_STRING([--with-c-include-dirs], [Colon separated list of directories clang will search for headers]),, withval="") Modified: vendor/llvm/dist/cmake/modules/CheckAtomic.cmake ============================================================================== --- vendor/llvm/dist/cmake/modules/CheckAtomic.cmake Tue Dec 15 16:15:14 2009 (r200580) +++ vendor/llvm/dist/cmake/modules/CheckAtomic.cmake Tue Dec 15 18:09:07 2009 (r200581) @@ -1,14 +1,25 @@ # atomic builtins are required for threading support. INCLUDE(CheckCXXSourceCompiles) - + CHECK_CXX_SOURCE_COMPILES(" +#ifdef _MSC_VER +#include +#endif int main() { +#ifdef _MSC_VER + volatile LONG val = 1; + MemoryBarrier(); + InterlockedCompareExchange(&val, 0, 1); + InterlockedIncrement(&val); + InterlockedDecrement(&val); +#else volatile unsigned long val = 1; __sync_synchronize(); __sync_val_compare_and_swap(&val, 1, 0); __sync_add_and_fetch(&val, 1); __sync_sub_and_fetch(&val, 1); +#endif return 0; } " LLVM_MULTITHREADED) Modified: vendor/llvm/dist/configure ============================================================================== --- vendor/llvm/dist/configure Tue Dec 15 16:15:14 2009 (r200580) +++ vendor/llvm/dist/configure Tue Dec 15 18:09:07 2009 (r200581) @@ -5286,9 +5286,9 @@ echo "$as_me: error: Invalid path for -- esac -# Check whether --with-c-include-dir was given. -if test "${with_c_include_dir+set}" = set; then - withval=$with_c_include_dir; +# Check whether --with-c-include-dirs was given. +if test "${with_c_include_dirs+set}" = set; then + withval=$with_c_include_dirs; else withval="" fi Modified: vendor/llvm/dist/docs/CompilerDriver.html ============================================================================== --- vendor/llvm/dist/docs/CompilerDriver.html Tue Dec 15 16:15:14 2009 (r200580) +++ vendor/llvm/dist/docs/CompilerDriver.html Tue Dec 15 18:09:07 2009 (r200581) @@ -17,28 +17,28 @@ The ReST source lives in the directory '

Contents

-

Conditional evaluation

+

Conditional evaluation

The 'case' construct is the main means by which programmability is achieved in LLVMC. It can be used to calculate edge weights, program actions and modify the shell commands to be executed. The 'case' @@ -433,7 +438,7 @@ a given value. Example: (parameter_equals "W", "all").

  • element_in_list - Returns true if a command-line parameter list contains a given value. -Example: (parameter_in_list "l", "pthread").
  • +Example: (element_in_list "l", "pthread").
  • input_languages_contain - Returns true if a given language belongs to the current input language set. Example: (input_languages_contain "c++").
  • @@ -475,7 +480,7 @@ argument. Example: -

    Writing a tool description

    +

    Writing a tool description

    As was said earlier, nodes in the compilation graph represent tools, which are described separately. A tool definition looks like this (taken from the include/llvm/CompilerDriver/Tools.td file):

    @@ -512,12 +517,12 @@ list of input files and joins them toget tools are passed to this tool.
  • actions - A single big case expression that specifies how this tool reacts on command-line options (described in more detail -below).
  • +below). -
    -

    Actions

    +
    +

    Actions

    A tool often needs to react to command-line options, and this is precisely what the actions property is for. The next example illustrates this feature:

    @@ -550,28 +555,31 @@ like a linker.

  • Possible actions:

      -
    • append_cmd - append a string to the tool invocation -command. -Example: (case (switch_on "pthread"), (append_cmd -"-lpthread"))
    • -
    • error - exit with error. +
    • append_cmd - Append a string to the tool invocation command. +Example: (case (switch_on "pthread"), (append_cmd "-lpthread")).
    • +
    • error - Exit with error. Example: (error "Mixing -c and -S is not allowed!").
    • -
    • warning - print a warning. +
    • warning - Print a warning. Example: (warning "Specifying both -O1 and -O2 is meaningless!").
    • -
    • forward - forward an option unchanged. Example: (forward "Wall").
    • -
    • forward_as - Change the name of an option, but forward the -argument unchanged. +
    • forward - Forward the option unchanged. +Example: (forward "Wall").
    • +
    • forward_as - Change the option's name, but forward the argument +unchanged. Example: (forward_as "O0", "--disable-optimization").
    • -
    • output_suffix - modify the output suffix of this -tool. +
    • forward_value - Forward only option's value. Cannot be used with switch +options (since they don't have values), but works fine with lists. +Example: (forward_value "Wa,").
    • +
    • forward_transformed_value - As above, but applies a hook to the +option's value before forwarding (see below). When +forward_transformed_value is applied to a list +option, the hook must have signature +std::string hooks::HookName (const std::vector<std::string>&). +Example: (forward_transformed_value "m", "ConvertToMAttr").
    • +
    • output_suffix - Modify the output suffix of this tool. Example: (output_suffix "i").
    • -
    • stop_compilation - stop compilation after this tool processes -its input. Used without arguments.
    • -
    • unpack_values - used for for splitting and forwarding -comma-separated lists of options, e.g. -Wa,-foo=bar,-baz is -converted to -foo=bar -baz and appended to the tool invocation -command. -Example: (unpack_values "Wa,").
    • +
    • stop_compilation - Stop compilation after this tool processes its +input. Used without arguments. +Example: (stop_compilation).
  • @@ -579,7 +587,7 @@ Example:
    -

    Language map

    +

    Language map

    If you are adding support for a new language to LLVMC, you'll need to modify the language map, which defines mappings from file extensions to language names. It is used to choose the proper toolchain(s) for a @@ -602,7 +610,7 @@ multiple output languages, for nodes &qu output languages should match. This is enforced at compile-time.

    -

    Option preprocessor

    +

    Option preprocessor

    It is sometimes useful to run error-checking code before processing the compilation graph. For example, if optimization options "-O1" and "-O2" are implemented as switches, we might want to output a warning if the user invokes @@ -629,9 +637,9 @@ in unset_option also works on lists.

    -

    More advanced topics

    +

    More advanced topics

    -

    Hooks and environment variables

    +

    Hooks and environment variables

    Normally, LLVMC executes programs from the system PATH. Sometimes, this is not sufficient: for example, we may want to specify tool paths or names in the configuration file. This can be easily achieved via @@ -664,7 +672,7 @@ the

    -

    How plugins are loaded

    +

    How plugins are loaded

    It is possible for LLVMC plugins to depend on each other. For example, one can create edges between nodes defined in some other plugin. To make this work, however, that plugin should be loaded first. To @@ -680,7 +688,7 @@ with 0. Therefore, the plugin with the h loaded last.

    -

    Debugging

    +

    Debugging

    When writing LLVMC plugins, it can be useful to get a visual view of the resulting compilation graph. This can be achieved via the command line option --view-graph. This command assumes that Graphviz and @@ -696,7 +704,7 @@ perform any compilation tasks and return errors as its status code.

    -

    Conditioning on the executable name

    +

    Conditioning on the executable name

    For now, the executable name (the value passed to the driver in argv[0]) is accessible only in the C++ code (i.e. hooks). Use the following code:

    @@ -704,12 +712,16 @@ namespace llvmc {
     extern const char* ProgramName;
     }
     
    +namespace hooks {
    +
     std::string MyHook() {
     //...
     if (strcmp(ProgramName, "mydriver") == 0) {
        //...
     
     }
    +
    +} // end namespace hooks
     

    In general, you're encouraged not to make the behaviour dependent on the executable file name, and use command-line switches instead. See for example how @@ -727,7 +739,7 @@ the Mikhail Glushenkov
    LLVM Compiler Infrastructure
    -Last modified: $Date: 2009-10-26 02:35:46 +0100 (Mon, 26 Oct 2009) $ +Last modified: $Date: 2009-12-07 19:26:24 +0100 (Mon, 07 Dec 2009) $

    Modified: vendor/llvm/dist/docs/GettingStarted.html ============================================================================== --- vendor/llvm/dist/docs/GettingStarted.html Tue Dec 15 16:15:14 2009 (r200580) +++ vendor/llvm/dist/docs/GettingStarted.html Tue Dec 15 18:09:07 2009 (r200581) @@ -252,7 +252,8 @@ software you will need.

    Cygwin/Win32 - x861,8 + x861,8, + 11 GCC 3.4.X, binutils 2.15 @@ -331,6 +332,9 @@ up before any Windows-based versions such as Strawberry Perl and ActivePerl, as these have Windows-specifics that will cause the build to fail. +
  • In general, LLVM modules requiring dynamic linking can + not be built on Windows. However, you can build LLVM tools using + "make tools-only".
  • @@ -1636,7 +1640,7 @@ out:

    Chris Lattner
    Reid Spencer
    The LLVM Compiler Infrastructure
    - Last modified: $Date: 2009-11-04 07:15:28 +0100 (Wed, 04 Nov 2009) $ + Last modified: $Date: 2009-12-09 18:26:02 +0100 (Wed, 09 Dec 2009) $ Modified: vendor/llvm/dist/docs/LangRef.html ============================================================================== --- vendor/llvm/dist/docs/LangRef.html Tue Dec 15 16:15:14 2009 (r200580) +++ vendor/llvm/dist/docs/LangRef.html Tue Dec 15 18:09:07 2009 (r200581) @@ -5,7 +5,7 @@ LLVM Assembly Language Reference Manual - @@ -54,7 +54,7 @@
  • Type System
    1. Type Classifications
    2. -
    3. Primitive Types +
    4. Primitive Types
      1. Integer Type
      2. Floating Point Types
      3. @@ -576,7 +576,7 @@ define i32 @main() { Symbols with "common" linkage are merged in the same way as weak symbols, and they may not be deleted if unreferenced. common symbols may not have an explicit section, - must have a zero initializer, and may not be marked 'constant'. Functions and aliases may not have common linkage. @@ -843,7 +843,7 @@ define i32 @main() {

        LLVM function declarations consist of the "declare" keyword, an optional linkage type, an optional - visibility style, an optional + visibility style, an optional calling convention, a return type, an optional parameter attribute for the return type, a function name, a possibly empty list of arguments, an optional alignment, and an @@ -1192,7 +1192,7 @@ target datalayout = "layout specifica location.

        p:size:abi:pref
        -
        This specifies the size of a pointer and its abi and +
        This specifies the size of a pointer and its abi and preferred alignments. All sizes are in bits. Specifying the pref alignment is optional. If omitted, the preceding : should be omitted too.
        @@ -1202,11 +1202,11 @@ target datalayout = "layout specifica size. The value of size must be in the range [1,2^23).
        vsize:abi:pref
        -
        This specifies the alignment for a vector type of a given bit +
        This specifies the alignment for a vector type of a given bit size.
        fsize:abi:pref
        -
        This specifies the alignment for a floating point type of a given bit +
        This specifies the alignment for a floating point type of a given bit size. The value of size must be either 32 (float) or 64 (double).
        @@ -1222,7 +1222,7 @@ target datalayout = "layout specifica
        This specifies a set of native integer widths for the target CPU in bits. For example, it might contain "n32" for 32-bit PowerPC, "n32:64" for PowerPC 64, or "n8:16:32:64" for X86-64. Elements of - this set are considered to support most general arithmetic + this set are considered to support most general arithmetic operations efficiently.
        @@ -1616,16 +1616,16 @@ Classifications float (i16 signext, i32 *) * - Pointer to a function that takes - an i16 that should be sign extended and a - pointer to i32, returning + Pointer to a function that takes + an i16 that should be sign extended and a + pointer to i32, returning float. i32 (i8*, ...) - A vararg function that takes at least one - pointer to i8 (char in C), - which returns an integer. This is the signature for printf in + A vararg function that takes at least one + pointer to i8 (char in C), + which returns an integer. This is the signature for printf in LLVM. @@ -2054,9 +2054,9 @@ Unsafe: For example, if "%X" has a zero bit, then the output of the 'and' operation will always be a zero, no matter what the corresponding bit from the undef is. As such, it is unsafe to optimize or assume that the result of the and is undef. -However, it is safe to assume that all bits of the undef could be 0, and -optimize the and to 0. Likewise, it is safe to assume that all the bits of -the undef operand to the or could be set, allowing the or to be folded to +However, it is safe to assume that all bits of the undef could be 0, and +optimize the and to 0. Likewise, it is safe to assume that all the bits of +the undef operand to the or could be set, allowing the or to be folded to -1.

        @@ -2086,7 +2086,7 @@ the optimizer is allowed to assume that
           %A = xor undef, undef
        -  
        +
           %B = undef
           %C = xor %B, %B
         
        @@ -2137,7 +2137,7 @@ does not execute at all.  This allows us
         it: since the undefined operation "can't happen", the optimizer can assume that
         it occurs in dead code.
         

        - +
         a:  store undef -> %X
        @@ -2149,7 +2149,7 @@ b: unreachable
         

        These examples reiterate the fdiv example: a store "of" an undefined value -can be assumed to not have any effect: we can assume that the value is +can be assumed to not have any effect: we can assume that the value is overwritten with bits that happen to match what was already there. However, a store "to" an undefined location could clobber arbitrary memory, therefore, it has undefined behavior.

        @@ -2166,7 +2166,7 @@ has undefined behavior.

        The 'blockaddress' constant computes the address of the specified basic block in the specified function, and always has an i8* type. Taking the address of the entry block is illegal.

        - +

        This value only has defined behavior when used as an operand to the 'indirectbr' instruction or for comparisons against null. Pointer equality tests between labels addresses is undefined @@ -2175,7 +2175,7 @@ has undefined behavior.

        pointer sized value as long as the bits are not inspected. This allows ptrtoint and arithmetic to be performed on these values so long as the original value is reconstituted before the indirectbr.

        - +

        Finally, some targets may provide defined semantics when using the value as the operand to an inline assembly, but that is target specific. @@ -2703,7 +2703,7 @@ IfUnequal: rest of the arguments indicate the full set of possible destinations that the address may point to. Blocks are allowed to occur multiple times in the destination list, though this isn't particularly useful.

        - +

        This destination list is required so that dataflow analysis has an accurate understanding of the CFG.

        @@ -3060,7 +3060,7 @@ Instruction

        The two arguments to the 'mul' instruction must be integer or vector of integer values. Both arguments must have identical types.

        - +
        Semantics:

        The value produced is the integer product of the two operands.

        @@ -3132,7 +3132,7 @@ Instruction

        The 'udiv' instruction returns the quotient of its two operands.

        Arguments:
        -

        The two arguments to the 'udiv' instruction must be +

        The two arguments to the 'udiv' instruction must be integer or vector of integer values. Both arguments must have identical types.

        @@ -3167,7 +3167,7 @@ Instruction

        The 'sdiv' instruction returns the quotient of its two operands.

        Arguments:
        -

        The two arguments to the 'sdiv' instruction must be +

        The two arguments to the 'sdiv' instruction must be integer or vector of integer values. Both arguments must have identical types.

        @@ -3238,7 +3238,7 @@ Instruction division of its two arguments.

        Arguments:
        -

        The two arguments to the 'urem' instruction must be +

        The two arguments to the 'urem' instruction must be integer or vector of integer values. Both arguments must have identical types.

        @@ -3278,7 +3278,7 @@ Instruction elements must be integers.

        Arguments:
        -

        The two arguments to the 'srem' instruction must be +

        The two arguments to the 'srem' instruction must be integer or vector of integer values. Both arguments must have identical types.

        @@ -3373,7 +3373,7 @@ Instruction

        Both arguments to the 'shl' instruction must be the same integer or vector of integer type. 'op2' is treated as an unsigned value.

        - +
        Semantics:

        The value produced is op1 * 2op2 mod 2n, where n is the width of the result. If op2 @@ -3409,7 +3409,7 @@ Instruction operand shifted to the right a specified number of bits with zero fill.

        Arguments:
        -

        Both arguments to the 'lshr' instruction must be the same +

        Both arguments to the 'lshr' instruction must be the same integer or vector of integer type. 'op2' is treated as an unsigned value.

        @@ -3449,7 +3449,7 @@ Instruction extension.

        Arguments:
        -

        Both arguments to the 'ashr' instruction must be the same +

        Both arguments to the 'ashr' instruction must be the same integer or vector of integer type. 'op2' is treated as an unsigned value.

        @@ -3489,7 +3489,7 @@ Instruction operands.

        Arguments:
        -

        The two arguments to the 'and' instruction must be +

        The two arguments to the 'and' instruction must be integer or vector of integer values. Both arguments must have identical types.

        @@ -3548,7 +3548,7 @@ Instruction two operands.

        Arguments:
        -

        The two arguments to the 'or' instruction must be +

        The two arguments to the 'or' instruction must be integer or vector of integer values. Both arguments must have identical types.

        @@ -3611,7 +3611,7 @@ Instruction complement" operation, which is the "~" operator in C.

        Arguments:
        -

        The two arguments to the 'xor' instruction must be +

        The two arguments to the 'xor' instruction must be integer or vector of integer values. Both arguments must have identical types.

        @@ -3659,7 +3659,7 @@ Instruction -
        + @@ -3782,20 +3782,20 @@ Instruction
        Example:
        -  <result> = shufflevector <4 x i32> %v1, <4 x i32> %v2, 
        +  <result> = shufflevector <4 x i32> %v1, <4 x i32> %v2,
                                   <4 x i32> <i32 0, i32 4, i32 1, i32 5>  ; yields <4 x i32>
        -  <result> = shufflevector <4 x i32> %v1, <4 x i32> undef, 
        +  <result> = shufflevector <4 x i32> %v1, <4 x i32> undef,
                                   <4 x i32> <i32 0, i32 1, i32 2, i32 3>  ; yields <4 x i32> - Identity shuffle.
        -  <result> = shufflevector <8 x i32> %v1, <8 x i32> undef, 
        +  <result> = shufflevector <8 x i32> %v1, <8 x i32> undef,
                                   <4 x i32> <i32 0, i32 1, i32 2, i32 3>  ; yields <4 x i32>
        -  <result> = shufflevector <4 x i32> %v1, <4 x i32> %v2, 
        +  <result> = shufflevector <4 x i32> %v1, <4 x i32> %v2,
                                   <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7 >  ; yields <8 x i32>
         
        -
        + @@ -3880,7 +3880,7 @@ Instruction
        -
        + @@ -4243,15 +4243,15 @@ entry:
        Overview:
        -

        The 'zext' instruction zero extends its operand to type +

        The 'zext' instruction zero extends its operand to type ty2.

        Arguments:
        -

        The 'zext' instruction takes a value to cast, which must be of +

        The 'zext' instruction takes a value to cast, which must be of integer type, and a type to cast it to, which must also be of integer type. The bit size of the - value must be smaller than the bit size of the destination type, + value must be smaller than the bit size of the destination type, ty2.

        Semantics:
        @@ -4283,10 +4283,10 @@ entry:

        The 'sext' sign extends value to the type ty2.

        Arguments:
        -

        The 'sext' instruction takes a value to cast, which must be of +

        The 'sext' instruction takes a value to cast, which must be of integer type, and a type to cast it to, which must also be of integer type. The bit size of the - value must be smaller than the bit size of the destination type, + value must be smaller than the bit size of the destination type, ty2.

        Semantics:
        @@ -4324,12 +4324,12 @@ entry:

        The 'fptrunc' instruction takes a floating point value to cast and a floating point type to cast it to. The size of value must be larger than the size of - ty2. This implies that fptrunc cannot be used to make a + ty2. This implies that fptrunc cannot be used to make a no-op cast.

        Semantics:

        The 'fptrunc' instruction truncates a value from a larger - floating point type to a smaller + floating point type to a smaller floating point type. If the value cannot fit within the destination type, ty2, then the results are undefined.

        @@ -4358,7 +4358,7 @@ entry: floating point value.

        Arguments:
        -

        The 'fpext' instruction takes a +

        The 'fpext' instruction takes a floating point value to cast, and a floating point type to cast it to. The source type must be smaller than the destination type.

        @@ -4401,7 +4401,7 @@ entry: vector integer type with the same number of elements as ty

        Semantics:
        -

        The 'fptoui' instruction converts its +

        The 'fptoui' instruction converts its floating point operand into the nearest (rounding towards zero) unsigned integer value. If the value cannot fit in ty2, the results are undefined.

        @@ -4427,7 +4427,7 @@ entry:
        Overview:
        -

        The 'fptosi' instruction converts +

        The 'fptosi' instruction converts floating point value to type ty2.

        @@ -4439,7 +4439,7 @@ entry: vector integer type with the same number of elements as ty

        Semantics:
        -

        The 'fptosi' instruction converts its +

        The 'fptosi' instruction converts its floating point operand into the nearest (rounding towards zero) signed integer value. If the value cannot fit in ty2, the results are undefined.

        @@ -4636,7 +4636,7 @@ entry:
           %X = bitcast i8 255 to i8              ; yields i8 :-1
           %Y = bitcast i32* %x to sint*          ; yields sint*:%x
        -  %Z = bitcast <2 x int> %V to i64;      ; yields i64: %V   
        +  %Z = bitcast <2 x int> %V to i64;      ; yields i64: %V
         
        @@ -4696,11 +4696,11 @@ entry: result, as follows:

          -
        1. eq: yields true if the operands are equal, +
        2. eq: yields true if the operands are equal, false otherwise. No sign interpretation is necessary or performed.
        3. -
        4. ne: yields true if the operands are unequal, +
        5. ne: yields true if the operands are unequal, false otherwise. No sign interpretation is necessary or performed.
        6. @@ -4817,42 +4817,42 @@ entry:
          1. false: always yields false, regardless of operands.
          2. -
          3. oeq: yields true if both operands are not a QNAN and +
          4. oeq: yields true if both operands are not a QNAN and op1 is equal to op2.
          5. ogt: yields true if both operands are not a QNAN and op1 is greather than op2.
          6. -
          7. oge: yields true if both operands are not a QNAN and +
          8. oge: yields true if both operands are not a QNAN and op1 is greater than or equal to op2.
          9. -
          10. olt: yields true if both operands are not a QNAN and +
          11. olt: yields true if both operands are not a QNAN and op1 is less than op2.
          12. -
          13. ole: yields true if both operands are not a QNAN and +
          14. ole: yields true if both operands are not a QNAN and op1 is less than or equal to op2.
          15. -
          16. one: yields true if both operands are not a QNAN and +
          17. one: yields true if both operands are not a QNAN and op1 is not equal to op2.
          18. ord: yields true if both operands are not a QNAN.
          19. -
          20. ueq: yields true if either operand is a QNAN or +
          21. ueq: yields true if either operand is a QNAN or op1 is equal to op2.
          22. -
          23. ugt: yields true if either operand is a QNAN or +
          24. ugt: yields true if either operand is a QNAN or op1 is greater than op2.
          25. -
          26. uge: yields true if either operand is a QNAN or +
          27. uge: yields true if either operand is a QNAN or op1 is greater than or equal to op2.
          28. -
          29. ult: yields true if either operand is a QNAN or +
          30. ult: yields true if either operand is a QNAN or op1 is less than op2.
          31. -
          32. ule: yields true if either operand is a QNAN or +
          33. ule: yields true if either operand is a QNAN or op1 is less than or equal to op2.
          34. -
          35. une: yields true if either operand is a QNAN or +
          36. une: yields true if either operand is a QNAN or op1 is not equal to op2.
          37. uno: yields true if either operand is a QNAN.
          38. @@ -5144,7 +5144,7 @@ freestanding environments and non-C-base suffix is required. Because the argument's type is matched against the return type, it does not require its own name suffix.

            -

            To learn how to add an intrinsic function, please see the +

            To learn how to add an intrinsic function, please see the Extending LLVM Guide.

            @@ -6579,11 +6579,11 @@ LLVM.

            • ll: All loads before the barrier must complete before any load after the barrier begins.
            • -
            • ls: All loads before the barrier must complete before any +
            • ls: All loads before the barrier must complete before any store after the barrier begins.
            • -
            • ss: All stores before the barrier must complete before any +
            • ss: All stores before the barrier must complete before any store after the barrier begins.
            • -
            • sl: All stores before the barrier must complete before any +
            • sl: All stores before the barrier must complete before any load after the barrier begins.
            @@ -6796,7 +6796,7 @@ LLVM.

            Overview:
            -

            This intrinsic subtracts delta to the value stored in memory at +

            This intrinsic subtracts delta to the value stored in memory at ptr. It yields the original value at ptr.

            Arguments:
            @@ -6952,7 +6952,7 @@ LLVM.

            Overview:
            -

            These intrinsics takes the signed or unsigned minimum or maximum of +

            These intrinsics takes the signed or unsigned minimum or maximum of delta and the value stored in memory at ptr. It yields the original value at ptr.

            @@ -7262,24 +7262,44 @@ LLVM.

            Overview:
            -

            The llvm.objectsize intrinsic returns the constant number of bytes - from ptr to the end of the object ptr points to if it - can deduce this at compile time. If there are any side-effects in evaluating - the argument or it cannot deduce which objects ptr points to at compile - time the intrinsic returns (size_t) -1 for type 0 - or 1 and (size_t) 0 for type 2 or 3.

            +

            The llvm.objectsize intrinsic is designed to provide information + to the optimizers to either discover at compile time either a) when an + operation like memcpy will either overflow a buffer that corresponds to + an object, or b) to determine that a runtime check for overflow isn't + necessary. An object in this context means an allocation of a + specific type.

            Arguments:

            The llvm.objectsize intrinsic takes two arguments. The first - argument is a pointer to the object ptr and an integer type. - type is an integer ranging from 0 to 3. The lsb corresponds to - a return value based on whole objects, the second bit whether or not we - return the maximum or minimum remaining bytes computed.

            + argument is a pointer to the object ptr. The second argument + is an integer type which ranges from 0 to 3. The first bit in + the type corresponds to a return value based on whole objects, + and the second bit whether or not we return the maximum or minimum + remaining bytes computed.

            + + + + + + + + + + + + + + + + + +
            00whole object, maximum number of bytes
            01partial object, maximum number of bytes
            10whole object, minimum number of bytes
            11partial object, minimum number of bytes
            Semantics:

            The llvm.objectsize intrinsic is lowered to either a constant - representing the size of the object concerned or (size_t) -1 if - it cannot be determined at compile time.

            + representing the size of the object concerned or i32/i64 -1 or 0 + (depending on the type argument if the size cannot be determined *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***