svn commit: r223017 - in head: contrib/llvm/include/llvm
contrib/llvm/include/llvm-c contrib/llvm/include/llvm/ADT
contrib/llvm/include/llvm/Analysis
contrib/llvm/include/llvm/CodeGen contrib/llvm/...
Dimitry Andric
dim at FreeBSD.org
Sun Jun 12 18:01:33 UTC 2011
Author: dim
Date: Sun Jun 12 18:01:31 2011
New Revision: 223017
URL: http://svn.freebsd.org/changeset/base/223017
Log:
Upgrade our copy of llvm/clang to r132879, from upstream's trunk.
Added:
head/contrib/llvm/include/llvm/ADT/PackedVector.h
- copied unchanged from r223016, vendor/llvm/dist/include/llvm/ADT/PackedVector.h
head/contrib/llvm/include/llvm/Analysis/BranchProbabilityInfo.h
- copied unchanged from r223016, vendor/llvm/dist/include/llvm/Analysis/BranchProbabilityInfo.h
head/contrib/llvm/include/llvm/DefaultPasses.h
- copied unchanged from r223016, vendor/llvm/dist/include/llvm/DefaultPasses.h
head/contrib/llvm/include/llvm/MC/MCWin64EH.h
- copied unchanged from r223016, vendor/llvm/dist/include/llvm/MC/MCWin64EH.h
head/contrib/llvm/include/llvm/Support/BranchProbability.h
- copied unchanged from r223016, vendor/llvm/dist/include/llvm/Support/BranchProbability.h
head/contrib/llvm/include/llvm/Support/PassManagerBuilder.h
- copied unchanged from r223016, vendor/llvm/dist/include/llvm/Support/PassManagerBuilder.h
head/contrib/llvm/include/llvm/Support/Win64EH.h
- copied unchanged from r223016, vendor/llvm/dist/include/llvm/Support/Win64EH.h
head/contrib/llvm/lib/Analysis/BranchProbabilityInfo.cpp
- copied unchanged from r223016, vendor/llvm/dist/lib/Analysis/BranchProbabilityInfo.cpp
head/contrib/llvm/lib/CodeGen/AsmPrinter/Win64Exception.cpp
- copied unchanged from r223016, vendor/llvm/dist/lib/CodeGen/AsmPrinter/Win64Exception.cpp
head/contrib/llvm/lib/CodeGen/RegisterClassInfo.cpp
- copied unchanged from r223016, vendor/llvm/dist/lib/CodeGen/RegisterClassInfo.cpp
head/contrib/llvm/lib/CodeGen/RegisterClassInfo.h
- copied unchanged from r223016, vendor/llvm/dist/lib/CodeGen/RegisterClassInfo.h
head/contrib/llvm/lib/ExecutionEngine/TargetSelect.cpp
- copied unchanged from r223016, vendor/llvm/dist/lib/ExecutionEngine/TargetSelect.cpp
head/contrib/llvm/lib/MC/MCWin64EH.cpp
- copied unchanged from r223016, vendor/llvm/dist/lib/MC/MCWin64EH.cpp
head/contrib/llvm/lib/Support/BranchProbability.cpp
- copied unchanged from r223016, vendor/llvm/dist/lib/Support/BranchProbability.cpp
head/contrib/llvm/lib/Target/Mips/MipsEmitGPRestore.cpp
- copied unchanged from r223016, vendor/llvm/dist/lib/Target/Mips/MipsEmitGPRestore.cpp
head/contrib/llvm/utils/TableGen/CodeGenRegisters.cpp
- copied unchanged from r223016, vendor/llvm/dist/utils/TableGen/CodeGenRegisters.cpp
head/contrib/llvm/utils/TableGen/SetTheory.cpp
- copied unchanged from r223016, vendor/llvm/dist/utils/TableGen/SetTheory.cpp
head/contrib/llvm/utils/TableGen/SetTheory.h
- copied unchanged from r223016, vendor/llvm/dist/utils/TableGen/SetTheory.h
Deleted:
head/contrib/llvm/include/llvm/Support/StandardPasses.h
head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfTableException.cpp
head/contrib/llvm/lib/ExecutionEngine/JIT/TargetSelect.cpp
head/contrib/llvm/lib/ExecutionEngine/MCJIT/TargetSelect.cpp
head/contrib/llvm/tools/clang/include/clang/Tooling/Tooling.h
head/contrib/llvm/tools/clang/lib/Frontend/DiagChecker.cpp
head/contrib/llvm/tools/clang/lib/Tooling/JsonCompileCommandLineDatabase.cpp
head/contrib/llvm/tools/clang/lib/Tooling/JsonCompileCommandLineDatabase.h
head/contrib/llvm/tools/clang/lib/Tooling/Tooling.cpp
Modified:
head/contrib/llvm/include/llvm-c/Core.h
head/contrib/llvm/include/llvm-c/Disassembler.h
head/contrib/llvm/include/llvm/ADT/FoldingSet.h
head/contrib/llvm/include/llvm/ADT/StringRef.h
head/contrib/llvm/include/llvm/ADT/Triple.h
head/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h
head/contrib/llvm/include/llvm/Analysis/CallGraph.h
head/contrib/llvm/include/llvm/Analysis/DIBuilder.h
head/contrib/llvm/include/llvm/Analysis/DebugInfo.h
head/contrib/llvm/include/llvm/Analysis/FindUsedTypes.h
head/contrib/llvm/include/llvm/Analysis/IVUsers.h
head/contrib/llvm/include/llvm/Analysis/RegionPass.h
head/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h
head/contrib/llvm/include/llvm/Argument.h
head/contrib/llvm/include/llvm/Attributes.h
head/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h
head/contrib/llvm/include/llvm/CodeGen/CallingConvLower.h
head/contrib/llvm/include/llvm/CodeGen/FastISel.h
head/contrib/llvm/include/llvm/CodeGen/ISDOpcodes.h
head/contrib/llvm/include/llvm/CodeGen/LiveInterval.h
head/contrib/llvm/include/llvm/CodeGen/MachineInstr.h
head/contrib/llvm/include/llvm/CodeGen/MachineInstrBuilder.h
head/contrib/llvm/include/llvm/CodeGen/MachineModuleInfo.h
head/contrib/llvm/include/llvm/CodeGen/MachineOperand.h
head/contrib/llvm/include/llvm/CodeGen/PseudoSourceValue.h
head/contrib/llvm/include/llvm/CodeGen/RegAllocPBQP.h
head/contrib/llvm/include/llvm/CodeGen/ScheduleDAG.h
head/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h
head/contrib/llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
head/contrib/llvm/include/llvm/CompilerDriver/Common.td
head/contrib/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
head/contrib/llvm/include/llvm/Function.h
head/contrib/llvm/include/llvm/InitializePasses.h
head/contrib/llvm/include/llvm/IntrinsicInst.h
head/contrib/llvm/include/llvm/Intrinsics.td
head/contrib/llvm/include/llvm/IntrinsicsARM.td
head/contrib/llvm/include/llvm/IntrinsicsX86.td
head/contrib/llvm/include/llvm/IntrinsicsXCore.td
head/contrib/llvm/include/llvm/LinkAllPasses.h
head/contrib/llvm/include/llvm/MC/MCAsmInfo.h
head/contrib/llvm/include/llvm/MC/MCDwarf.h
head/contrib/llvm/include/llvm/MC/MCELFSymbolFlags.h
head/contrib/llvm/include/llvm/MC/MCExpr.h
head/contrib/llvm/include/llvm/MC/MCInstPrinter.h
head/contrib/llvm/include/llvm/MC/MCParser/MCAsmLexer.h
head/contrib/llvm/include/llvm/MC/MCParser/MCAsmParser.h
head/contrib/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h
head/contrib/llvm/include/llvm/MC/MCStreamer.h
head/contrib/llvm/include/llvm/Metadata.h
head/contrib/llvm/include/llvm/Operator.h
head/contrib/llvm/include/llvm/Support/Casting.h
head/contrib/llvm/include/llvm/Support/CrashRecoveryContext.h
head/contrib/llvm/include/llvm/Support/Dwarf.h
head/contrib/llvm/include/llvm/Support/IRBuilder.h
head/contrib/llvm/include/llvm/Support/MemoryBuffer.h
head/contrib/llvm/include/llvm/Support/PatternMatch.h
head/contrib/llvm/include/llvm/Support/Program.h
head/contrib/llvm/include/llvm/Support/SourceMgr.h
head/contrib/llvm/include/llvm/Target/Target.td
head/contrib/llvm/include/llvm/Target/TargetAsmInfo.h
head/contrib/llvm/include/llvm/Target/TargetInstrItineraries.h
head/contrib/llvm/include/llvm/Target/TargetLibraryInfo.h
head/contrib/llvm/include/llvm/Target/TargetLowering.h
head/contrib/llvm/include/llvm/Target/TargetLoweringObjectFile.h
head/contrib/llvm/include/llvm/Target/TargetOptions.h
head/contrib/llvm/include/llvm/Target/TargetRegisterInfo.h
head/contrib/llvm/include/llvm/Target/TargetSelectionDAG.td
head/contrib/llvm/include/llvm/Transforms/Instrumentation.h
head/contrib/llvm/include/llvm/Transforms/Utils/Local.h
head/contrib/llvm/include/llvm/Transforms/Utils/SSAUpdater.h
head/contrib/llvm/include/llvm/Type.h
head/contrib/llvm/lib/Analysis/Analysis.cpp
head/contrib/llvm/lib/Analysis/BasicAliasAnalysis.cpp
head/contrib/llvm/lib/Analysis/ConstantFolding.cpp
head/contrib/llvm/lib/Analysis/DIBuilder.cpp
head/contrib/llvm/lib/Analysis/IPA/CallGraph.cpp
head/contrib/llvm/lib/Analysis/IPA/CallGraphSCCPass.cpp
head/contrib/llvm/lib/Analysis/IPA/FindUsedTypes.cpp
head/contrib/llvm/lib/Analysis/IVUsers.cpp
head/contrib/llvm/lib/Analysis/InlineCost.cpp
head/contrib/llvm/lib/Analysis/InstructionSimplify.cpp
head/contrib/llvm/lib/Analysis/LazyValueInfo.cpp
head/contrib/llvm/lib/Analysis/Loads.cpp
head/contrib/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
head/contrib/llvm/lib/Analysis/RegionPass.cpp
head/contrib/llvm/lib/Analysis/ScalarEvolution.cpp
head/contrib/llvm/lib/Analysis/ValueTracking.cpp
head/contrib/llvm/lib/AsmParser/LLLexer.cpp
head/contrib/llvm/lib/AsmParser/LLLexer.h
head/contrib/llvm/lib/AsmParser/LLParser.cpp
head/contrib/llvm/lib/AsmParser/LLToken.h
head/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
head/contrib/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
head/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
head/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
head/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.h
head/contrib/llvm/lib/CodeGen/AllocationOrder.cpp
head/contrib/llvm/lib/CodeGen/AllocationOrder.h
head/contrib/llvm/lib/CodeGen/AntiDepBreaker.h
head/contrib/llvm/lib/CodeGen/AsmPrinter/ARMException.cpp
head/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
head/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp
head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp
head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfException.h
head/contrib/llvm/lib/CodeGen/BranchFolding.cpp
head/contrib/llvm/lib/CodeGen/BranchFolding.h
head/contrib/llvm/lib/CodeGen/CalcSpillWeights.cpp
head/contrib/llvm/lib/CodeGen/CallingConvLower.cpp
head/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp
head/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.h
head/contrib/llvm/lib/CodeGen/DwarfEHPrepare.cpp
head/contrib/llvm/lib/CodeGen/IfConversion.cpp
head/contrib/llvm/lib/CodeGen/InlineSpiller.cpp
head/contrib/llvm/lib/CodeGen/LLVMTargetMachine.cpp
head/contrib/llvm/lib/CodeGen/LiveDebugVariables.cpp
head/contrib/llvm/lib/CodeGen/LiveDebugVariables.h
head/contrib/llvm/lib/CodeGen/LiveRangeEdit.cpp
head/contrib/llvm/lib/CodeGen/LiveRangeEdit.h
head/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp
head/contrib/llvm/lib/CodeGen/MachineFunction.cpp
head/contrib/llvm/lib/CodeGen/MachineInstr.cpp
head/contrib/llvm/lib/CodeGen/MachineRegisterInfo.cpp
head/contrib/llvm/lib/CodeGen/MachineVerifier.cpp
head/contrib/llvm/lib/CodeGen/PostRASchedulerList.cpp
head/contrib/llvm/lib/CodeGen/RegAllocBase.h
head/contrib/llvm/lib/CodeGen/RegAllocBasic.cpp
head/contrib/llvm/lib/CodeGen/RegAllocFast.cpp
head/contrib/llvm/lib/CodeGen/RegAllocGreedy.cpp
head/contrib/llvm/lib/CodeGen/RegisterScavenging.cpp
head/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
head/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.h
head/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
head/contrib/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
head/contrib/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
head/contrib/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
head/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
head/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
head/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
head/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
head/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
head/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
head/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
head/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
head/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
head/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
head/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
head/contrib/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
head/contrib/llvm/lib/CodeGen/SimpleRegisterCoalescing.cpp
head/contrib/llvm/lib/CodeGen/SimpleRegisterCoalescing.h
head/contrib/llvm/lib/CodeGen/SjLjEHPrepare.cpp
head/contrib/llvm/lib/CodeGen/SplitKit.cpp
head/contrib/llvm/lib/CodeGen/SplitKit.h
head/contrib/llvm/lib/CodeGen/TailDuplication.cpp
head/contrib/llvm/lib/CodeGen/TargetInstrInfoImpl.cpp
head/contrib/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
head/contrib/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
head/contrib/llvm/lib/CodeGen/UnreachableBlockElim.cpp
head/contrib/llvm/lib/CodeGen/VirtRegMap.cpp
head/contrib/llvm/lib/ExecutionEngine/ExecutionEngine.cpp
head/contrib/llvm/lib/ExecutionEngine/JIT/JIT.cpp
head/contrib/llvm/lib/ExecutionEngine/JIT/JIT.h
head/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp
head/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h
head/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJITMemoryManager.h
head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
head/contrib/llvm/lib/MC/ELFObjectWriter.cpp
head/contrib/llvm/lib/MC/ELFObjectWriter.h
head/contrib/llvm/lib/MC/MCAsmInfo.cpp
head/contrib/llvm/lib/MC/MCAsmInfoDarwin.cpp
head/contrib/llvm/lib/MC/MCAsmStreamer.cpp
head/contrib/llvm/lib/MC/MCAssembler.cpp
head/contrib/llvm/lib/MC/MCDisassembler/Disassembler.cpp
head/contrib/llvm/lib/MC/MCDwarf.cpp
head/contrib/llvm/lib/MC/MCELF.cpp
head/contrib/llvm/lib/MC/MCELFStreamer.cpp
head/contrib/llvm/lib/MC/MCExpr.cpp
head/contrib/llvm/lib/MC/MCInstPrinter.cpp
head/contrib/llvm/lib/MC/MCMachOStreamer.cpp
head/contrib/llvm/lib/MC/MCObjectStreamer.cpp
head/contrib/llvm/lib/MC/MCParser/AsmLexer.cpp
head/contrib/llvm/lib/MC/MCParser/AsmParser.cpp
head/contrib/llvm/lib/MC/MCParser/COFFAsmParser.cpp
head/contrib/llvm/lib/MC/MCParser/DarwinAsmParser.cpp
head/contrib/llvm/lib/MC/MCStreamer.cpp
head/contrib/llvm/lib/MC/WinCOFFStreamer.cpp
head/contrib/llvm/lib/Support/APInt.cpp
head/contrib/llvm/lib/Support/Dwarf.cpp
head/contrib/llvm/lib/Support/FoldingSet.cpp
head/contrib/llvm/lib/Support/Host.cpp
head/contrib/llvm/lib/Support/MemoryBuffer.cpp
head/contrib/llvm/lib/Support/SourceMgr.cpp
head/contrib/llvm/lib/Support/Unix/Host.inc
head/contrib/llvm/lib/Support/Unix/Program.inc
head/contrib/llvm/lib/Support/Windows/Program.inc
head/contrib/llvm/lib/Target/ARM/ARMAsmBackend.cpp
head/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
head/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.h
head/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
head/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.h
head/contrib/llvm/lib/Target/ARM/ARMCodeEmitter.cpp
head/contrib/llvm/lib/Target/ARM/ARMFastISel.cpp
head/contrib/llvm/lib/Target/ARM/ARMFixupKinds.h
head/contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
head/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp
head/contrib/llvm/lib/Target/ARM/ARMISelLowering.h
head/contrib/llvm/lib/Target/ARM/ARMInstrFormats.td
head/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td
head/contrib/llvm/lib/Target/ARM/ARMInstrNEON.td
head/contrib/llvm/lib/Target/ARM/ARMInstrThumb.td
head/contrib/llvm/lib/Target/ARM/ARMInstrThumb2.td
head/contrib/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
head/contrib/llvm/lib/Target/ARM/ARMMCAsmInfo.cpp
head/contrib/llvm/lib/Target/ARM/ARMMCCodeEmitter.cpp
head/contrib/llvm/lib/Target/ARM/ARMPerfectShuffle.h
head/contrib/llvm/lib/Target/ARM/ARMRegisterInfo.td
head/contrib/llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp
head/contrib/llvm/lib/Target/ARM/ARMSelectionDAGInfo.h
head/contrib/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
head/contrib/llvm/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp
head/contrib/llvm/lib/Target/ARM/Disassembler/ThumbDisassemblerCore.h
head/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp
head/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.h
head/contrib/llvm/lib/Target/ARM/Thumb1RegisterInfo.cpp
head/contrib/llvm/lib/Target/Alpha/AlphaISelLowering.cpp
head/contrib/llvm/lib/Target/Alpha/AlphaISelLowering.h
head/contrib/llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp
head/contrib/llvm/lib/Target/Alpha/AlphaRegisterInfo.h
head/contrib/llvm/lib/Target/Alpha/AlphaRegisterInfo.td
head/contrib/llvm/lib/Target/Blackfin/BlackfinFrameLowering.cpp
head/contrib/llvm/lib/Target/Blackfin/BlackfinFrameLowering.h
head/contrib/llvm/lib/Target/Blackfin/BlackfinISelDAGToDAG.cpp
head/contrib/llvm/lib/Target/Blackfin/BlackfinISelLowering.cpp
head/contrib/llvm/lib/Target/Blackfin/BlackfinISelLowering.h
head/contrib/llvm/lib/Target/Blackfin/BlackfinInstrInfo.cpp
head/contrib/llvm/lib/Target/Blackfin/BlackfinRegisterInfo.cpp
head/contrib/llvm/lib/Target/Blackfin/BlackfinRegisterInfo.h
head/contrib/llvm/lib/Target/Blackfin/BlackfinRegisterInfo.td
head/contrib/llvm/lib/Target/CBackend/CBackend.cpp
head/contrib/llvm/lib/Target/CellSPU/SPUISelLowering.cpp
head/contrib/llvm/lib/Target/CellSPU/SPUISelLowering.h
head/contrib/llvm/lib/Target/CellSPU/SPURegisterInfo.cpp
head/contrib/llvm/lib/Target/CellSPU/SPURegisterInfo.h
head/contrib/llvm/lib/Target/CellSPU/SPURegisterInfo.td
head/contrib/llvm/lib/Target/MBlaze/MBlazeISelLowering.cpp
head/contrib/llvm/lib/Target/MBlaze/MBlazeISelLowering.h
head/contrib/llvm/lib/Target/MBlaze/MBlazeInstrInfo.td
head/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.cpp
head/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.h
head/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.td
head/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
head/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.h
head/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp
head/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.h
head/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.td
head/contrib/llvm/lib/Target/Mips/Mips.h
head/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.cpp
head/contrib/llvm/lib/Target/Mips/MipsFrameLowering.cpp
head/contrib/llvm/lib/Target/Mips/MipsFrameLowering.h
head/contrib/llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp
head/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp
head/contrib/llvm/lib/Target/Mips/MipsISelLowering.h
head/contrib/llvm/lib/Target/Mips/MipsInstrFPU.td
head/contrib/llvm/lib/Target/Mips/MipsInstrFormats.td
head/contrib/llvm/lib/Target/Mips/MipsInstrInfo.h
head/contrib/llvm/lib/Target/Mips/MipsInstrInfo.td
head/contrib/llvm/lib/Target/Mips/MipsMCAsmInfo.cpp
head/contrib/llvm/lib/Target/Mips/MipsMachineFunction.h
head/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.cpp
head/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.h
head/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.td
head/contrib/llvm/lib/Target/Mips/MipsTargetMachine.cpp
head/contrib/llvm/lib/Target/Mips/MipsTargetMachine.h
head/contrib/llvm/lib/Target/PTX/PTX.td
head/contrib/llvm/lib/Target/PTX/PTXISelLowering.cpp
head/contrib/llvm/lib/Target/PTX/PTXISelLowering.h
head/contrib/llvm/lib/Target/PTX/PTXInstrInfo.td
head/contrib/llvm/lib/Target/PTX/PTXRegisterInfo.h
head/contrib/llvm/lib/Target/PTX/PTXSubtarget.cpp
head/contrib/llvm/lib/Target/PTX/PTXSubtarget.h
head/contrib/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp
head/contrib/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.h
head/contrib/llvm/lib/Target/PowerPC/PPC.h
head/contrib/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
head/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
head/contrib/llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp
head/contrib/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
head/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
head/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.h
head/contrib/llvm/lib/Target/PowerPC/PPCInstr64Bit.td
head/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.td
head/contrib/llvm/lib/Target/PowerPC/PPCMCAsmInfo.cpp
head/contrib/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
head/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
head/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.h
head/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.td
head/contrib/llvm/lib/Target/Sparc/SparcISelLowering.cpp
head/contrib/llvm/lib/Target/Sparc/SparcISelLowering.h
head/contrib/llvm/lib/Target/Sparc/SparcRegisterInfo.cpp
head/contrib/llvm/lib/Target/Sparc/SparcRegisterInfo.h
head/contrib/llvm/lib/Target/Sparc/SparcRegisterInfo.td
head/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
head/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.h
head/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
head/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.h
head/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.td
head/contrib/llvm/lib/Target/TargetLibraryInfo.cpp
head/contrib/llvm/lib/Target/TargetLoweringObjectFile.cpp
head/contrib/llvm/lib/Target/TargetMachine.cpp
head/contrib/llvm/lib/Target/TargetRegisterInfo.cpp
head/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
head/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.h
head/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp
head/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.h
head/contrib/llvm/lib/Target/X86/X86.td
head/contrib/llvm/lib/Target/X86/X86FastISel.cpp
head/contrib/llvm/lib/Target/X86/X86FrameLowering.cpp
head/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
head/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp
head/contrib/llvm/lib/Target/X86/X86ISelLowering.h
head/contrib/llvm/lib/Target/X86/X86InstrCompiler.td
head/contrib/llvm/lib/Target/X86/X86InstrExtension.td
head/contrib/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
head/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp
head/contrib/llvm/lib/Target/X86/X86InstrInfo.h
head/contrib/llvm/lib/Target/X86/X86InstrInfo.td
head/contrib/llvm/lib/Target/X86/X86InstrMMX.td
head/contrib/llvm/lib/Target/X86/X86InstrSSE.td
head/contrib/llvm/lib/Target/X86/X86MCAsmInfo.cpp
head/contrib/llvm/lib/Target/X86/X86MCCodeEmitter.cpp
head/contrib/llvm/lib/Target/X86/X86MCInstLower.cpp
head/contrib/llvm/lib/Target/X86/X86RegisterInfo.cpp
head/contrib/llvm/lib/Target/X86/X86RegisterInfo.h
head/contrib/llvm/lib/Target/X86/X86RegisterInfo.td
head/contrib/llvm/lib/Target/X86/X86Subtarget.cpp
head/contrib/llvm/lib/Target/XCore/XCoreISelDAGToDAG.cpp
head/contrib/llvm/lib/Target/XCore/XCoreISelLowering.cpp
head/contrib/llvm/lib/Target/XCore/XCoreISelLowering.h
head/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.td
head/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.cpp
head/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.h
head/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.td
head/contrib/llvm/lib/Transforms/IPO/DeadTypeElimination.cpp
head/contrib/llvm/lib/Transforms/IPO/ExtractGV.cpp
head/contrib/llvm/lib/Transforms/IPO/GlobalOpt.cpp
head/contrib/llvm/lib/Transforms/IPO/PruneEH.cpp
head/contrib/llvm/lib/Transforms/InstCombine/InstCombine.h
head/contrib/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
head/contrib/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
head/contrib/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
head/contrib/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
head/contrib/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
head/contrib/llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
head/contrib/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
head/contrib/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
head/contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
head/contrib/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
head/contrib/llvm/lib/Transforms/Instrumentation/PathProfiling.cpp
head/contrib/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp
head/contrib/llvm/lib/Transforms/Scalar/GVN.cpp
head/contrib/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
head/contrib/llvm/lib/Transforms/Scalar/JumpThreading.cpp
head/contrib/llvm/lib/Transforms/Scalar/LICM.cpp
head/contrib/llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
head/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
head/contrib/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp
head/contrib/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
head/contrib/llvm/lib/Transforms/Scalar/SCCP.cpp
head/contrib/llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp
head/contrib/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
head/contrib/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
head/contrib/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
head/contrib/llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
head/contrib/llvm/lib/Transforms/Utils/BuildLibCalls.cpp
head/contrib/llvm/lib/Transforms/Utils/InlineFunction.cpp
head/contrib/llvm/lib/Transforms/Utils/Local.cpp
head/contrib/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
head/contrib/llvm/lib/Transforms/Utils/SSAUpdater.cpp
head/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
head/contrib/llvm/lib/VMCore/Attributes.cpp
head/contrib/llvm/lib/VMCore/AutoUpgrade.cpp
head/contrib/llvm/lib/VMCore/DebugInfoProbe.cpp
head/contrib/llvm/lib/VMCore/Function.cpp
head/contrib/llvm/lib/VMCore/IRBuilder.cpp
head/contrib/llvm/lib/VMCore/InlineAsm.cpp
head/contrib/llvm/lib/VMCore/Instructions.cpp
head/contrib/llvm/lib/VMCore/PassManager.cpp
head/contrib/llvm/lib/VMCore/Type.cpp
head/contrib/llvm/lib/VMCore/Verifier.cpp
head/contrib/llvm/tools/clang/include/clang-c/Index.h
head/contrib/llvm/tools/clang/include/clang/AST/APValue.h
head/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h
head/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h
head/contrib/llvm/tools/clang/include/clang/AST/Decl.h
head/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h
head/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h
head/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h
head/contrib/llvm/tools/clang/include/clang/AST/DeclTemplate.h
head/contrib/llvm/tools/clang/include/clang/AST/Expr.h
head/contrib/llvm/tools/clang/include/clang/AST/ExternalASTSource.h
head/contrib/llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h
head/contrib/llvm/tools/clang/include/clang/AST/StmtVisitor.h
head/contrib/llvm/tools/clang/include/clang/AST/Type.h
head/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h
head/contrib/llvm/tools/clang/include/clang/AST/TypeNodes.def
head/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsARM.def
head/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86.def
head/contrib/llvm/tools/clang/include/clang/Basic/DeclNodes.td
head/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.h
head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommonKinds.td
head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td
head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td
head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticIDs.h
head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td
head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td
head/contrib/llvm/tools/clang/include/clang/Basic/ExceptionSpecificationType.h
head/contrib/llvm/tools/clang/include/clang/Basic/IdentifierTable.h
head/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.h
head/contrib/llvm/tools/clang/include/clang/Basic/SourceLocation.h
head/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h
head/contrib/llvm/tools/clang/include/clang/Basic/Specifiers.h
head/contrib/llvm/tools/clang/include/clang/Basic/StmtNodes.td
head/contrib/llvm/tools/clang/include/clang/Basic/TargetInfo.h
head/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.def
head/contrib/llvm/tools/clang/include/clang/Basic/TypeTraits.h
head/contrib/llvm/tools/clang/include/clang/Basic/arm_neon.td
head/contrib/llvm/tools/clang/include/clang/Driver/CC1AsOptions.td
head/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td
head/contrib/llvm/tools/clang/include/clang/Driver/Options.td
head/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h
head/contrib/llvm/tools/clang/include/clang/Frontend/ASTUnit.h
head/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.h
head/contrib/llvm/tools/clang/include/clang/Frontend/DiagnosticOptions.h
head/contrib/llvm/tools/clang/include/clang/Frontend/LangStandard.h
head/contrib/llvm/tools/clang/include/clang/Frontend/LangStandards.def
head/contrib/llvm/tools/clang/include/clang/Frontend/PreprocessorOptions.h
head/contrib/llvm/tools/clang/include/clang/Frontend/Utils.h
head/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearch.h
head/contrib/llvm/tools/clang/include/clang/Lex/LiteralSupport.h
head/contrib/llvm/tools/clang/include/clang/Lex/PreprocessingRecord.h
head/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h
head/contrib/llvm/tools/clang/include/clang/Parse/Parser.h
head/contrib/llvm/tools/clang/include/clang/Sema/CodeCompleteConsumer.h
head/contrib/llvm/tools/clang/include/clang/Sema/DeclSpec.h
head/contrib/llvm/tools/clang/include/clang/Sema/Initialization.h
head/contrib/llvm/tools/clang/include/clang/Sema/Lookup.h
head/contrib/llvm/tools/clang/include/clang/Sema/Overload.h
head/contrib/llvm/tools/clang/include/clang/Sema/Scope.h
head/contrib/llvm/tools/clang/include/clang/Sema/Sema.h
head/contrib/llvm/tools/clang/include/clang/Sema/Template.h
head/contrib/llvm/tools/clang/include/clang/Serialization/ASTBitCodes.h
head/contrib/llvm/tools/clang/include/clang/Serialization/ASTReader.h
head/contrib/llvm/tools/clang/include/clang/Serialization/ASTWriter.h
head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Checker.h
head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/GRState.h
head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ObjCMessage.h
head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h
head/contrib/llvm/tools/clang/lib/AST/APValue.cpp
head/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp
head/contrib/llvm/tools/clang/lib/AST/ASTDiagnostic.cpp
head/contrib/llvm/tools/clang/lib/AST/ASTImporter.cpp
head/contrib/llvm/tools/clang/lib/AST/Decl.cpp
head/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp
head/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp
head/contrib/llvm/tools/clang/lib/AST/DeclObjC.cpp
head/contrib/llvm/tools/clang/lib/AST/DeclPrinter.cpp
head/contrib/llvm/tools/clang/lib/AST/DeclTemplate.cpp
head/contrib/llvm/tools/clang/lib/AST/DumpXML.cpp
head/contrib/llvm/tools/clang/lib/AST/Expr.cpp
head/contrib/llvm/tools/clang/lib/AST/ExprClassification.cpp
head/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp
head/contrib/llvm/tools/clang/lib/AST/ExternalASTSource.cpp
head/contrib/llvm/tools/clang/lib/AST/ItaniumMangle.cpp
head/contrib/llvm/tools/clang/lib/AST/Mangle.cpp
head/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp
head/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp
head/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp
head/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp
head/contrib/llvm/tools/clang/lib/AST/Type.cpp
head/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp
head/contrib/llvm/tools/clang/lib/Analysis/AnalysisContext.cpp
head/contrib/llvm/tools/clang/lib/Analysis/CFG.cpp
head/contrib/llvm/tools/clang/lib/Analysis/CocoaConventions.cpp
head/contrib/llvm/tools/clang/lib/Analysis/LiveVariables.cpp
head/contrib/llvm/tools/clang/lib/Analysis/UninitializedValues.cpp
head/contrib/llvm/tools/clang/lib/Basic/Diagnostic.cpp
head/contrib/llvm/tools/clang/lib/Basic/DiagnosticIDs.cpp
head/contrib/llvm/tools/clang/lib/Basic/FileManager.cpp
head/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp
head/contrib/llvm/tools/clang/lib/Basic/SourceManager.cpp
head/contrib/llvm/tools/clang/lib/Basic/Targets.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/CGCXX.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/CGCall.h
head/contrib/llvm/tools/clang/lib/CodeGen/CGClass.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.h
head/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/CGDeclCXX.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/CGException.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/CGExprCXX.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/CGExprConstant.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/CGObjC.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/CGObjCGNU.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/CGObjCMac.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.h
head/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/CGStmt.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/CGVTT.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h
head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.h
head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.h
head/contrib/llvm/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/ModuleBuilder.cpp
head/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp
head/contrib/llvm/tools/clang/lib/Driver/Driver.cpp
head/contrib/llvm/tools/clang/lib/Driver/HostInfo.cpp
head/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp
head/contrib/llvm/tools/clang/lib/Driver/ToolChains.h
head/contrib/llvm/tools/clang/lib/Driver/Tools.cpp
head/contrib/llvm/tools/clang/lib/Driver/Tools.h
head/contrib/llvm/tools/clang/lib/Frontend/ASTConsumers.cpp
head/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp
head/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp
head/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp
head/contrib/llvm/tools/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
head/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp
head/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp
head/contrib/llvm/tools/clang/lib/Frontend/LogDiagnosticPrinter.cpp
head/contrib/llvm/tools/clang/lib/Frontend/TextDiagnosticPrinter.cpp
head/contrib/llvm/tools/clang/lib/Frontend/Warnings.cpp
head/contrib/llvm/tools/clang/lib/Headers/emmintrin.h
head/contrib/llvm/tools/clang/lib/Headers/mmintrin.h
head/contrib/llvm/tools/clang/lib/Headers/xmmintrin.h
head/contrib/llvm/tools/clang/lib/Index/CallGraph.cpp
head/contrib/llvm/tools/clang/lib/Index/Indexer.cpp
head/contrib/llvm/tools/clang/lib/Lex/HeaderSearch.cpp
head/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp
head/contrib/llvm/tools/clang/lib/Lex/LiteralSupport.cpp
head/contrib/llvm/tools/clang/lib/Lex/MacroInfo.cpp
head/contrib/llvm/tools/clang/lib/Lex/PPDirectives.cpp
head/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp
head/contrib/llvm/tools/clang/lib/Lex/Pragma.cpp
head/contrib/llvm/tools/clang/lib/Lex/PreprocessingRecord.cpp
head/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp
head/contrib/llvm/tools/clang/lib/Parse/ParseCXXInlineMethods.cpp
head/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp
head/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp
head/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp
head/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp
head/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp
head/contrib/llvm/tools/clang/lib/Parse/ParsePragma.cpp
head/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp
head/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp
head/contrib/llvm/tools/clang/lib/Parse/ParseTentative.cpp
head/contrib/llvm/tools/clang/lib/Parse/Parser.cpp
head/contrib/llvm/tools/clang/lib/Rewrite/RewriteObjC.cpp
head/contrib/llvm/tools/clang/lib/Sema/AnalysisBasedWarnings.cpp
head/contrib/llvm/tools/clang/lib/Sema/DeclSpec.cpp
head/contrib/llvm/tools/clang/lib/Sema/JumpDiagnostics.cpp
head/contrib/llvm/tools/clang/lib/Sema/Sema.cpp
head/contrib/llvm/tools/clang/lib/Sema/SemaAccess.cpp
head/contrib/llvm/tools/clang/lib/Sema/SemaCXXCast.cpp
head/contrib/llvm/tools/clang/lib/Sema/SemaCXXScopeSpec.cpp
head/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp
head/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp
head/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp
head/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp
head/contrib/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp
head/contrib/llvm/tools/clang/lib/Sema/SemaExceptionSpec.cpp
head/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp
head/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp
head/contrib/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp
head/contrib/llvm/tools/clang/lib/Sema/SemaInit.cpp
head/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp
head/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp
head/contrib/llvm/tools/clang/lib/Sema/SemaStmt.cpp
head/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp
head/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp
head/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp
head/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
head/contrib/llvm/tools/clang/lib/Sema/SemaTemplateVariadic.cpp
head/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp
head/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h
head/contrib/llvm/tools/clang/lib/Serialization/ASTReader.cpp
head/contrib/llvm/tools/clang/lib/Serialization/ASTReaderDecl.cpp
head/contrib/llvm/tools/clang/lib/Serialization/ASTReaderStmt.cpp
head/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp
head/contrib/llvm/tools/clang/lib/Serialization/ASTWriterDecl.cpp
head/contrib/llvm/tools/clang/lib/Serialization/ASTWriterStmt.cpp
head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp
head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BasicStore.cpp
head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CFRefCount.cpp
head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CXXExprEngine.cpp
head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Environment.cpp
head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/FlatStore.cpp
head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/GRState.cpp
head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ObjCMessage.cpp
head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp
head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp
head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
head/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp
head/contrib/llvm/utils/TableGen/AsmMatcherEmitter.cpp
head/contrib/llvm/utils/TableGen/AsmWriterEmitter.cpp
head/contrib/llvm/utils/TableGen/ClangDiagnosticsEmitter.cpp
head/contrib/llvm/utils/TableGen/CodeGenIntrinsics.h
head/contrib/llvm/utils/TableGen/CodeGenRegisters.h
head/contrib/llvm/utils/TableGen/CodeGenTarget.cpp
head/contrib/llvm/utils/TableGen/CodeGenTarget.h
head/contrib/llvm/utils/TableGen/DAGISelMatcherGen.cpp
head/contrib/llvm/utils/TableGen/EDEmitter.cpp
head/contrib/llvm/utils/TableGen/FastISelEmitter.cpp
head/contrib/llvm/utils/TableGen/IntrinsicEmitter.cpp
head/contrib/llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp
head/contrib/llvm/utils/TableGen/NeonEmitter.cpp
head/contrib/llvm/utils/TableGen/Record.cpp
head/contrib/llvm/utils/TableGen/RegisterInfoEmitter.cpp
head/contrib/llvm/utils/TableGen/TGLexer.cpp
head/contrib/llvm/utils/TableGen/TGLexer.h
head/contrib/llvm/utils/TableGen/TGParser.h
head/contrib/llvm/utils/TableGen/TableGen.cpp
head/lib/clang/include/clang/Basic/Version.inc
head/lib/clang/libclangfrontend/Makefile
head/lib/clang/libllvmasmprinter/Makefile
head/lib/clang/libllvmcodegen/Makefile
head/lib/clang/libllvmmc/Makefile
head/lib/clang/libllvmmipscodegen/Makefile
head/sys/boot/i386/zfsboot/Makefile
head/usr.bin/clang/tblgen/Makefile
Directory Properties:
head/contrib/llvm/ (props changed)
head/contrib/llvm/tools/clang/ (props changed)
Modified: head/contrib/llvm/include/llvm-c/Core.h
==============================================================================
--- head/contrib/llvm/include/llvm-c/Core.h Sun Jun 12 15:46:57 2011 (r223016)
+++ head/contrib/llvm/include/llvm-c/Core.h Sun Jun 12 18:01:31 2011 (r223017)
@@ -282,6 +282,8 @@ typedef enum {
LLVMRealPredicateTrue /**< Always true (always folded) */
} LLVMRealPredicate;
+void LLVMInitializeCore(LLVMPassRegistryRef R);
+
/*===-- Error handling ----------------------------------------------------===*/
@@ -1164,6 +1166,7 @@ namespace llvm {
for (LLVMValueRef *I = Vals, *E = Vals + Length; I != E; ++I)
cast<T>(*I);
#endif
+ (void)Length;
return reinterpret_cast<T**>(Vals);
}
Modified: head/contrib/llvm/include/llvm-c/Disassembler.h
==============================================================================
--- head/contrib/llvm/include/llvm-c/Disassembler.h Sun Jun 12 15:46:57 2011 (r223016)
+++ head/contrib/llvm/include/llvm-c/Disassembler.h Sun Jun 12 18:01:31 2011 (r223017)
@@ -7,16 +7,16 @@
|* *|
|*===----------------------------------------------------------------------===*|
|* *|
-|* This header provides public interface to a disassembler library. *|
+|* This header provides a public interface to a disassembler library. *|
|* LLVM provides an implementation of this interface. *|
|* *|
\*===----------------------------------------------------------------------===*/
#ifndef LLVM_C_DISASSEMBLER_H
-#define LLVM_C_DISASSEMBLER_H 1
+#define LLVM_C_DISASSEMBLER_H
-#include <stddef.h>
#include "llvm/Support/DataTypes.h"
+#include <stddef.h>
/**
* An opaque reference to a disassembler context.
@@ -38,14 +38,11 @@ typedef void *LLVMDisasmContextRef;
* will be the instruction width. The information is returned in TagBuf and is
* Triple specific with its specific information defined by the value of
* TagType for that Triple. If symbolic information is returned the function
- * returns 1 else it returns 0.
+ * returns 1, otherwise it returns 0.
*/
-typedef int (*LLVMOpInfoCallback)(void *DisInfo,
- uint64_t PC,
- uint64_t Offset,
- uint64_t Size,
- int TagType,
- void *TagBuf);
+typedef int (*LLVMOpInfoCallback)(void *DisInfo, uint64_t PC,
+ uint64_t Offset, uint64_t Size,
+ int TagType, void *TagBuf);
/**
* The initial support in LLVM MC for the most general form of a relocatable
@@ -68,10 +65,11 @@ typedef int (*LLVMOpInfoCallback)(void *
* operands like "_foo at GOT", ":lower16:_foo", etc.
*/
struct LLVMOpInfoSymbol1 {
- uint64_t Present; /* 1 if this symbol is present */
- char *Name; /* symbol name if not NULL */
- uint64_t Value; /* symbol value if name is NULL */
+ uint64_t Present; /* 1 if this symbol is present */
+ char *Name; /* symbol name if not NULL */
+ uint64_t Value; /* symbol value if name is NULL */
};
+
struct LLVMOpInfo1 {
struct LLVMOpInfoSymbol1 AddSymbol;
struct LLVMOpInfoSymbol1 SubtractSymbol;
@@ -92,11 +90,11 @@ struct LLVMOpInfo1 {
/**
* The type for the symbol lookup function. This may be called by the
- * disassembler for such things like adding a comment for a PC plus a constant
+ * disassembler for things like adding a comment for a PC plus a constant
* offset load instruction to use a symbol name instead of a load address value.
* It is passed the block information is saved when the disassembler context is
* created and a value of a symbol to look up. If no symbol is found NULL is
- * to be returned.
+ * returned.
*/
typedef const char *(*LLVMSymbolLookupCallback)(void *DisInfo,
uint64_t SymbolValue);
@@ -107,40 +105,33 @@ extern "C" {
/**
* Create a disassembler for the TripleName. Symbolic disassembly is supported
- * by passing a block of information in the DisInfo parameter and specifing the
- * TagType and call back functions as described above. These can all be passed
- * as NULL. If successful this returns a disassembler context if not it
+ * by passing a block of information in the DisInfo parameter and specifying the
+ * TagType and callback functions as described above. These can all be passed
+ * as NULL. If successful, this returns a disassembler context. If not, it
* returns NULL.
*/
-extern LLVMDisasmContextRef
-LLVMCreateDisasm(const char *TripleName,
- void *DisInfo,
- int TagType,
- LLVMOpInfoCallback GetOpInfo,
- LLVMSymbolLookupCallback SymbolLookUp);
+LLVMDisasmContextRef LLVMCreateDisasm(const char *TripleName, void *DisInfo,
+ int TagType, LLVMOpInfoCallback GetOpInfo,
+ LLVMSymbolLookupCallback SymbolLookUp);
/**
* Dispose of a disassembler context.
*/
-extern void
-LLVMDisasmDispose(LLVMDisasmContextRef DC);
+void LLVMDisasmDispose(LLVMDisasmContextRef DC);
/**
- * Disassmble a single instruction using the disassembler context specified in
- * the parameter DC. The bytes of the instruction are specified in the parameter
- * Bytes, and contains at least BytesSize number of bytes. The instruction is
- * at the address specified by the PC parameter. If a valid instruction can be
- * disassembled its string is returned indirectly in OutString which whos size
- * is specified in the parameter OutStringSize. This function returns the
- * number of bytes in the instruction or zero if there was no valid instruction.
- */
-extern size_t
-LLVMDisasmInstruction(LLVMDisasmContextRef DC,
- uint8_t *Bytes,
- uint64_t BytesSize,
- uint64_t PC,
- char *OutString,
- size_t OutStringSize);
+ * Disassemble a single instruction using the disassembler context specified in
+ * the parameter DC. The bytes of the instruction are specified in the
+ * parameter Bytes, and contains at least BytesSize number of bytes. The
+ * instruction is at the address specified by the PC parameter. If a valid
+ * instruction can be disassembled, its string is returned indirectly in
+ * OutString whose size is specified in the parameter OutStringSize. This
+ * function returns the number of bytes in the instruction or zero if there was
+ * no valid instruction.
+ */
+size_t LLVMDisasmInstruction(LLVMDisasmContextRef DC, uint8_t *Bytes,
+ uint64_t BytesSize, uint64_t PC,
+ char *OutString, size_t OutStringSize);
#ifdef __cplusplus
}
Modified: head/contrib/llvm/include/llvm/ADT/FoldingSet.h
==============================================================================
--- head/contrib/llvm/include/llvm/ADT/FoldingSet.h Sun Jun 12 15:46:57 2011 (r223016)
+++ head/contrib/llvm/include/llvm/ADT/FoldingSet.h Sun Jun 12 18:01:31 2011 (r223017)
@@ -671,17 +671,10 @@ public:
// Partial specializations of FoldingSetTrait.
template<typename T> struct FoldingSetTrait<T*> {
- static inline void Profile(const T *X, FoldingSetNodeID &ID) {
+ static inline void Profile(T *X, FoldingSetNodeID &ID) {
ID.AddPointer(X);
}
};
-
-template<typename T> struct FoldingSetTrait<const T*> {
- static inline void Profile(const T *X, FoldingSetNodeID &ID) {
- ID.AddPointer(X);
- }
-};
-
} // End of namespace llvm.
#endif
Copied: head/contrib/llvm/include/llvm/ADT/PackedVector.h (from r223016, vendor/llvm/dist/include/llvm/ADT/PackedVector.h)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/contrib/llvm/include/llvm/ADT/PackedVector.h Sun Jun 12 18:01:31 2011 (r223017, copy of r223016, vendor/llvm/dist/include/llvm/ADT/PackedVector.h)
@@ -0,0 +1,158 @@
+//===- llvm/ADT/PackedVector.h - Packed values vector -----------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file implements the PackedVector class.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_ADT_PACKEDVECTOR_H
+#define LLVM_ADT_PACKEDVECTOR_H
+
+#include "llvm/ADT/BitVector.h"
+#include <limits>
+
+namespace llvm {
+
+template <typename T, unsigned BitNum, bool isSigned>
+class PackedVectorBase;
+
+// This won't be necessary if we can specialize members without specializing
+// the parent template.
+template <typename T, unsigned BitNum>
+class PackedVectorBase<T, BitNum, false> {
+protected:
+ static T getValue(const llvm::BitVector &Bits, unsigned Idx) {
+ T val = T();
+ for (unsigned i = 0; i != BitNum; ++i)
+ val = T(val | ((Bits[(Idx << (BitNum-1)) + i] ? 1UL : 0UL) << i));
+ return val;
+ }
+
+ static void setValue(llvm::BitVector &Bits, unsigned Idx, T val) {
+ assert((val >> BitNum) == 0 && "value is too big");
+ for (unsigned i = 0; i != BitNum; ++i)
+ Bits[(Idx << (BitNum-1)) + i] = val & (T(1) << i);
+ }
+};
+
+template <typename T, unsigned BitNum>
+class PackedVectorBase<T, BitNum, true> {
+protected:
+ static T getValue(const llvm::BitVector &Bits, unsigned Idx) {
+ T val = T();
+ for (unsigned i = 0; i != BitNum-1; ++i)
+ val = T(val | ((Bits[(Idx << (BitNum-1)) + i] ? 1UL : 0UL) << i));
+ if (Bits[(Idx << (BitNum-1)) + BitNum-1])
+ val = ~val;
+ return val;
+ }
+
+ static void setValue(llvm::BitVector &Bits, unsigned Idx, T val) {
+ if (val < 0) {
+ val = ~val;
+ Bits.set((Idx << (BitNum-1)) + BitNum-1);
+ }
+ assert((val >> (BitNum-1)) == 0 && "value is too big");
+ for (unsigned i = 0; i != BitNum-1; ++i)
+ Bits[(Idx << (BitNum-1)) + i] = val & (T(1) << i);
+ }
+};
+
+/// \brief Store a vector of values using a specific number of bits for each
+/// value. Both signed and unsigned types can be used, e.g
+/// @code
+/// PackedVector<signed, 2> vec;
+/// @endcode
+/// will create a vector accepting values -2, -1, 0, 1. Any other value will hit
+/// an assertion.
+template <typename T, unsigned BitNum>
+class PackedVector : public PackedVectorBase<T, BitNum,
+ std::numeric_limits<T>::is_signed> {
+ llvm::BitVector Bits;
+ typedef PackedVectorBase<T, BitNum, std::numeric_limits<T>::is_signed> base;
+
+public:
+ class reference {
+ PackedVector &Vec;
+ const unsigned Idx;
+
+ reference(); // Undefined
+ public:
+ reference(PackedVector &vec, unsigned idx) : Vec(vec), Idx(idx) { }
+
+ reference &operator=(T val) {
+ Vec.setValue(Vec.Bits, Idx, val);
+ return *this;
+ }
+ operator T() {
+ return Vec.getValue(Vec.Bits, Idx);
+ }
+ };
+
+ PackedVector() { }
+ explicit PackedVector(unsigned size) : Bits(size << (BitNum-1)) { }
+
+ bool empty() const { return Bits.empty(); }
+
+ unsigned size() const { return Bits.size() >> (BitNum-1); }
+
+ void clear() { Bits.clear(); }
+
+ void resize(unsigned N) { Bits.resize(N << (BitNum-1)); }
+
+ void reserve(unsigned N) { Bits.reserve(N << (BitNum-1)); }
+
+ PackedVector &reset() {
+ Bits.reset();
+ return *this;
+ }
+
+ void push_back(T val) {
+ resize(size()+1);
+ (*this)[size()-1] = val;
+ }
+
+ reference operator[](unsigned Idx) {
+ return reference(*this, Idx);
+ }
+
+ T operator[](unsigned Idx) const {
+ return base::getValue(Bits, Idx);
+ }
+
+ bool operator==(const PackedVector &RHS) const {
+ return Bits == RHS.Bits;
+ }
+
+ bool operator!=(const PackedVector &RHS) const {
+ return Bits != RHS.Bits;
+ }
+
+ const PackedVector &operator=(const PackedVector &RHS) {
+ Bits = RHS.Bits;
+ return *this;
+ }
+
+ PackedVector &operator|=(const PackedVector &RHS) {
+ Bits |= RHS.Bits;
+ return *this;
+ }
+
+ void swap(PackedVector &RHS) {
+ Bits.swap(RHS.Bits);
+ }
+};
+
+// Leave BitNum=0 undefined.
+template <typename T>
+class PackedVector<T, 0>;
+
+} // end llvm namespace
+
+#endif
Modified: head/contrib/llvm/include/llvm/ADT/StringRef.h
==============================================================================
--- head/contrib/llvm/include/llvm/ADT/StringRef.h Sun Jun 12 15:46:57 2011 (r223016)
+++ head/contrib/llvm/include/llvm/ADT/StringRef.h Sun Jun 12 18:01:31 2011 (r223017)
@@ -46,7 +46,14 @@ namespace llvm {
// integer works around this bug.
static size_t min(size_t a, size_t b) { return a < b ? a : b; }
static size_t max(size_t a, size_t b) { return a > b ? a : b; }
-
+
+ // Workaround memcmp issue with null pointers (undefined behavior)
+ // by providing a specialized version
+ static int compareMemory(const char *Lhs, const char *Rhs, size_t Length) {
+ if (Length == 0) { return 0; }
+ return ::memcmp(Lhs,Rhs,Length);
+ }
+
public:
/// @name Constructors
/// @{
@@ -56,11 +63,17 @@ namespace llvm {
/// Construct a string ref from a cstring.
/*implicit*/ StringRef(const char *Str)
- : Data(Str), Length(::strlen(Str)) {}
+ : Data(Str) {
+ assert(Str && "StringRef cannot be built from a NULL argument");
+ Length = ::strlen(Str); // invoking strlen(NULL) is undefined behavior
+ }
/// Construct a string ref from a pointer and length.
/*implicit*/ StringRef(const char *data, size_t length)
- : Data(data), Length(length) {}
+ : Data(data), Length(length) {
+ assert((data || length == 0) &&
+ "StringRef cannot be built from a NULL argument with non-null length");
+ }
/// Construct a string ref from an std::string.
/*implicit*/ StringRef(const std::string &Str)
@@ -104,7 +117,7 @@ namespace llvm {
/// compare() when the relative ordering of inequal strings isn't needed.
bool equals(StringRef RHS) const {
return (Length == RHS.Length &&
- memcmp(Data, RHS.Data, RHS.Length) == 0);
+ compareMemory(Data, RHS.Data, RHS.Length) == 0);
}
/// equals_lower - Check for string equality, ignoring case.
@@ -116,7 +129,7 @@ namespace llvm {
/// is lexicographically less than, equal to, or greater than the \arg RHS.
int compare(StringRef RHS) const {
// Check the prefix for a mismatch.
- if (int Res = memcmp(Data, RHS.Data, min(Length, RHS.Length)))
+ if (int Res = compareMemory(Data, RHS.Data, min(Length, RHS.Length)))
return Res < 0 ? -1 : 1;
// Otherwise the prefixes match, so we only need to check the lengths.
@@ -183,13 +196,13 @@ namespace llvm {
/// startswith - Check if this string starts with the given \arg Prefix.
bool startswith(StringRef Prefix) const {
return Length >= Prefix.Length &&
- memcmp(Data, Prefix.Data, Prefix.Length) == 0;
+ compareMemory(Data, Prefix.Data, Prefix.Length) == 0;
}
/// endswith - Check if this string ends with the given \arg Suffix.
bool endswith(StringRef Suffix) const {
return Length >= Suffix.Length &&
- memcmp(end() - Suffix.Length, Suffix.Data, Suffix.Length) == 0;
+ compareMemory(end() - Suffix.Length, Suffix.Data, Suffix.Length) == 0;
}
/// @}
@@ -447,6 +460,10 @@ namespace llvm {
return LHS.compare(RHS) != -1;
}
+ inline std::string &operator+=(std::string &buffer, llvm::StringRef string) {
+ return buffer.append(string.data(), string.size());
+ }
+
/// @}
// StringRefs can be treated like a POD type.
Modified: head/contrib/llvm/include/llvm/ADT/Triple.h
==============================================================================
--- head/contrib/llvm/include/llvm/ADT/Triple.h Sun Jun 12 15:46:57 2011 (r223016)
+++ head/contrib/llvm/include/llvm/ADT/Triple.h Sun Jun 12 18:01:31 2011 (r223017)
@@ -225,7 +225,7 @@ public:
/// if the environment component is present).
StringRef getOSAndEnvironmentName() const;
- /// getOSNumber - Parse the version number from the OS name component of the
+ /// getOSVersion - Parse the version number from the OS name component of the
/// triple, if present.
///
/// For example, "fooos1.2.3" would return (1, 2, 3).
Modified: head/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h
==============================================================================
--- head/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h Sun Jun 12 15:46:57 2011 (r223016)
+++ head/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h Sun Jun 12 18:01:31 2011 (r223017)
@@ -38,6 +38,7 @@
#define LLVM_ANALYSIS_ALIAS_ANALYSIS_H
#include "llvm/Support/CallSite.h"
+#include "llvm/ADT/DenseMap.h"
namespace llvm {
@@ -488,6 +489,32 @@ public:
}
};
+// Specialize DenseMapInfo for Location.
+template<>
+struct DenseMapInfo<AliasAnalysis::Location> {
+ static inline AliasAnalysis::Location getEmptyKey() {
+ return
+ AliasAnalysis::Location(DenseMapInfo<const Value *>::getEmptyKey(),
+ 0, 0);
+ }
+ static inline AliasAnalysis::Location getTombstoneKey() {
+ return
+ AliasAnalysis::Location(DenseMapInfo<const Value *>::getTombstoneKey(),
+ 0, 0);
+ }
+ static unsigned getHashValue(const AliasAnalysis::Location &Val) {
+ return DenseMapInfo<const Value *>::getHashValue(Val.Ptr) ^
+ DenseMapInfo<uint64_t>::getHashValue(Val.Size) ^
+ DenseMapInfo<const MDNode *>::getHashValue(Val.TBAATag);
+ }
+ static bool isEqual(const AliasAnalysis::Location &LHS,
+ const AliasAnalysis::Location &RHS) {
+ return LHS.Ptr == RHS.Ptr &&
+ LHS.Size == RHS.Size &&
+ LHS.TBAATag == RHS.TBAATag;
+ }
+};
+
/// isNoAliasCall - Return true if this pointer is returned by a noalias
/// function.
bool isNoAliasCall(const Value *V);
Copied: head/contrib/llvm/include/llvm/Analysis/BranchProbabilityInfo.h (from r223016, vendor/llvm/dist/include/llvm/Analysis/BranchProbabilityInfo.h)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/contrib/llvm/include/llvm/Analysis/BranchProbabilityInfo.h Sun Jun 12 18:01:31 2011 (r223017, copy of r223016, vendor/llvm/dist/include/llvm/Analysis/BranchProbabilityInfo.h)
@@ -0,0 +1,78 @@
+//===--- BranchProbabilityInfo.h - Branch Probability Analysis --*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This pass is used to evaluate branch probabilties.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_ANALYSIS_BRANCHPROBABILITYINFO_H
+#define LLVM_ANALYSIS_BRANCHPROBABILITYINFO_H
+
+#include "llvm/InitializePasses.h"
+#include "llvm/Support/BranchProbability.h"
+#include "llvm/Analysis/LoopInfo.h"
+
+namespace llvm {
+
+class raw_ostream;
+
+class BranchProbabilityInfo : public FunctionPass {
+
+ // Default weight value. Used when we don't have information about the edge.
+ static const uint32_t DEFAULT_WEIGHT = 16;
+
+ typedef std::pair<BasicBlock *, BasicBlock *> Edge;
+
+ DenseMap<Edge, uint32_t> Weights;
+
+ // Get sum of the block successors' weights.
+ uint32_t getSumForBlock(BasicBlock *BB) const;
+
+public:
+ static char ID;
+
+ BranchProbabilityInfo() : FunctionPass(ID) {
+ initializeBranchProbabilityInfoPass(*PassRegistry::getPassRegistry());
+ }
+
+ void getAnalysisUsage(AnalysisUsage &AU) const {
+ AU.addRequired<LoopInfo>();
+ AU.setPreservesAll();
+ }
+
+ bool runOnFunction(Function &F);
+
+ // Returned value is between 1 and UINT32_MAX. Look at
+ // BranchProbabilityInfo.cpp for details.
+ uint32_t getEdgeWeight(BasicBlock *Src, BasicBlock *Dst) const;
+
+ // Look at BranchProbabilityInfo.cpp for details. Use it with caution!
+ void setEdgeWeight(BasicBlock *Src, BasicBlock *Dst, uint32_t Weight);
+
+ // A 'Hot' edge is an edge which probability is >= 80%.
+ bool isEdgeHot(BasicBlock *Src, BasicBlock *Dst) const;
+
+ // Return a hot successor for the block BB or null if there isn't one.
+ BasicBlock *getHotSucc(BasicBlock *BB) const;
+
+ // Return a probability as a fraction between 0 (0% probability) and
+ // 1 (100% probability), however the value is never equal to 0, and can be 1
+ // only iff SRC block has only one successor.
+ BranchProbability getEdgeProbability(BasicBlock *Src, BasicBlock *Dst) const;
+
+ // Print value between 0 (0% probability) and 1 (100% probability),
+ // however the value is never equal to 0, and can be 1 only iff SRC block
+ // has only one successor.
+ raw_ostream &printEdgeProbability(raw_ostream &OS, BasicBlock *Src,
+ BasicBlock *Dst) const;
+};
+
+}
+
+#endif
Modified: head/contrib/llvm/include/llvm/Analysis/CallGraph.h
==============================================================================
--- head/contrib/llvm/include/llvm/Analysis/CallGraph.h Sun Jun 12 15:46:57 2011 (r223016)
+++ head/contrib/llvm/include/llvm/Analysis/CallGraph.h Sun Jun 12 18:01:31 2011 (r223017)
@@ -259,6 +259,9 @@ public:
/// addCalledFunction - Add a function to the list of functions called by this
/// one.
void addCalledFunction(CallSite CS, CallGraphNode *M) {
+ assert(!CS.getInstruction() ||
+ !CS.getCalledFunction() ||
+ !CS.getCalledFunction()->isIntrinsic());
CalledFunctions.push_back(std::make_pair(CS.getInstruction(), M));
M->AddRef();
}
Modified: head/contrib/llvm/include/llvm/Analysis/DIBuilder.h
==============================================================================
--- head/contrib/llvm/include/llvm/Analysis/DIBuilder.h Sun Jun 12 15:46:57 2011 (r223016)
+++ head/contrib/llvm/include/llvm/Analysis/DIBuilder.h Sun Jun 12 18:01:31 2011 (r223017)
@@ -117,8 +117,9 @@ namespace llvm {
/// @param Name Typedef name.
/// @param File File where this type is defined.
/// @param LineNo Line number.
+ /// @param Context The surrounding context for the typedef.
DIType createTypedef(DIType Ty, StringRef Name, DIFile File,
- unsigned LineNo);
+ unsigned LineNo, DIDescriptor Context);
/// createFriend - Create debugging information entry for a 'friend'.
DIType createFriend(DIType Ty, DIType FriendTy);
Modified: head/contrib/llvm/include/llvm/Analysis/DebugInfo.h
==============================================================================
--- head/contrib/llvm/include/llvm/Analysis/DebugInfo.h Sun Jun 12 15:46:57 2011 (r223016)
+++ head/contrib/llvm/include/llvm/Analysis/DebugInfo.h Sun Jun 12 18:01:31 2011 (r223017)
@@ -49,15 +49,16 @@ namespace llvm {
class DIDescriptor {
public:
enum {
- FlagPrivate = 1 << 0,
- FlagProtected = 1 << 1,
- FlagFwdDecl = 1 << 2,
- FlagAppleBlock = 1 << 3,
- FlagBlockByrefStruct = 1 << 4,
- FlagVirtual = 1 << 5,
- FlagArtificial = 1 << 6,
- FlagExplicit = 1 << 7,
- FlagPrototyped = 1 << 8
+ FlagPrivate = 1 << 0,
+ FlagProtected = 1 << 1,
+ FlagFwdDecl = 1 << 2,
+ FlagAppleBlock = 1 << 3,
+ FlagBlockByrefStruct = 1 << 4,
+ FlagVirtual = 1 << 5,
+ FlagArtificial = 1 << 6,
+ FlagExplicit = 1 << 7,
+ FlagPrototyped = 1 << 8,
+ FlagObjcClassComplete = 1 << 9
};
protected:
const MDNode *DbgNode;
@@ -271,6 +272,9 @@ namespace llvm {
bool isArtificial() const {
return (getFlags() & FlagArtificial) != 0;
}
+ bool isObjcClassComplete() const {
+ return (getFlags() & FlagObjcClassComplete) != 0;
+ }
bool isValid() const {
return DbgNode && (isBasicType() || isDerivedType() || isCompositeType());
}
Modified: head/contrib/llvm/include/llvm/Analysis/FindUsedTypes.h
==============================================================================
--- head/contrib/llvm/include/llvm/Analysis/FindUsedTypes.h Sun Jun 12 15:46:57 2011 (r223016)
+++ head/contrib/llvm/include/llvm/Analysis/FindUsedTypes.h Sun Jun 12 18:01:31 2011 (r223017)
@@ -14,8 +14,8 @@
#ifndef LLVM_ANALYSIS_FINDUSEDTYPES_H
#define LLVM_ANALYSIS_FINDUSEDTYPES_H
+#include "llvm/ADT/SetVector.h"
#include "llvm/Pass.h"
-#include <set>
namespace llvm {
@@ -23,7 +23,7 @@ class Type;
class Value;
class FindUsedTypes : public ModulePass {
- std::set<const Type *> UsedTypes;
+ SetVector<const Type *> UsedTypes;
public:
static char ID; // Pass identification, replacement for typeid
FindUsedTypes() : ModulePass(ID) {
@@ -33,7 +33,7 @@ public:
/// getTypes - After the pass has been run, return the set containing all of
/// the types used in the module.
///
- const std::set<const Type *> &getTypes() const { return UsedTypes; }
+ const SetVector<const Type *> &getTypes() const { return UsedTypes; }
/// Print the types found in the module. If the optional Module parameter is
/// passed in, then the types are printed symbolically if possible, using the
Modified: head/contrib/llvm/include/llvm/Analysis/IVUsers.h
==============================================================================
--- head/contrib/llvm/include/llvm/Analysis/IVUsers.h Sun Jun 12 15:46:57 2011 (r223016)
+++ head/contrib/llvm/include/llvm/Analysis/IVUsers.h Sun Jun 12 18:01:31 2011 (r223017)
@@ -37,8 +37,8 @@ class TargetData;
class IVStrideUse : public CallbackVH, public ilist_node<IVStrideUse> {
friend class IVUsers;
public:
- IVStrideUse(IVUsers *P, Instruction* U, Value *O)
- : CallbackVH(U), Parent(P), OperandValToReplace(O) {
+ IVStrideUse(IVUsers *P, Instruction* U, Value *O, Value *PN)
+ : CallbackVH(U), Parent(P), OperandValToReplace(O), Phi(PN) {
}
/// getUser - Return the user instruction for this use.
@@ -51,6 +51,11 @@ public:
setValPtr(NewUser);
}
+ /// getPhi - Return the phi node that represents this IV.
+ PHINode *getPhi() const {
+ return cast<PHINode>(Phi);
+ }
+
/// getOperandValToReplace - Return the Value of the operand in the user
/// instruction that this IVStrideUse is representing.
Value *getOperandValToReplace() const {
@@ -81,6 +86,9 @@ private:
/// that this IVStrideUse is representing.
WeakVH OperandValToReplace;
+ /// Phi - The loop header phi that represents this IV.
+ WeakVH Phi;
+
/// PostIncLoops - The set of loops for which Expr has been adjusted to
/// use post-inc mode. This corresponds with SCEVExpander's post-inc concept.
PostIncLoopSet PostIncLoops;
@@ -143,9 +151,9 @@ public:
/// AddUsersIfInteresting - Inspect the specified Instruction. If it is a
/// reducible SCEV, recursively add its users to the IVUsesByStride set and
/// return true. Otherwise, return false.
- bool AddUsersIfInteresting(Instruction *I);
+ bool AddUsersIfInteresting(Instruction *I, PHINode *Phi);
- IVStrideUse &AddUser(Instruction *User, Value *Operand);
+ IVStrideUse &AddUser(Instruction *User, Value *Operand, PHINode *Phi);
/// getReplacementExpr - Return a SCEV expression which computes the
/// value of the OperandValToReplace of the given IVStrideUse.
Modified: head/contrib/llvm/include/llvm/Analysis/RegionPass.h
==============================================================================
--- head/contrib/llvm/include/llvm/Analysis/RegionPass.h Sun Jun 12 15:46:57 2011 (r223016)
+++ head/contrib/llvm/include/llvm/Analysis/RegionPass.h Sun Jun 12 18:01:31 2011 (r223017)
@@ -109,7 +109,7 @@ public:
/// @brief Print passes managed by this manager.
void dumpPassStructure(unsigned Offset);
- /// @brief Print passes contained by this manager.
+ /// @brief Get passes contained by this manager.
Pass *getContainedPass(unsigned N) {
assert(N < PassVector.size() && "Pass number out of range!");
Pass *FP = static_cast<Pass *>(PassVector[N]);
Modified: head/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h
==============================================================================
--- head/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h Sun Jun 12 15:46:57 2011 (r223016)
+++ head/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h Sun Jun 12 18:01:31 2011 (r223017)
@@ -270,30 +270,30 @@ namespace llvm {
/// BackedgeTakenCounts - Cache the backedge-taken count of the loops for
/// this function as they are computed.
- std::map<const Loop*, BackedgeTakenInfo> BackedgeTakenCounts;
+ DenseMap<const Loop*, BackedgeTakenInfo> BackedgeTakenCounts;
/// ConstantEvolutionLoopExitValue - This map contains entries for all of
/// the PHI instructions that we attempt to compute constant evolutions for.
/// This allows us to avoid potentially expensive recomputation of these
/// properties. An instruction maps to null if we are unable to compute its
/// exit value.
- std::map<PHINode*, Constant*> ConstantEvolutionLoopExitValue;
+ DenseMap<PHINode*, Constant*> ConstantEvolutionLoopExitValue;
/// ValuesAtScopes - This map contains entries for all the expressions
/// that we attempt to compute getSCEVAtScope information for, which can
/// be expensive in extreme cases.
- std::map<const SCEV *,
+ DenseMap<const SCEV *,
std::map<const Loop *, const SCEV *> > ValuesAtScopes;
/// LoopDispositions - Memoized computeLoopDisposition results.
- std::map<const SCEV *,
+ DenseMap<const SCEV *,
std::map<const Loop *, LoopDisposition> > LoopDispositions;
/// computeLoopDisposition - Compute a LoopDisposition value.
LoopDisposition computeLoopDisposition(const SCEV *S, const Loop *L);
/// BlockDispositions - Memoized computeBlockDisposition results.
- std::map<const SCEV *,
+ DenseMap<const SCEV *,
std::map<const BasicBlock *, BlockDisposition> > BlockDispositions;
/// computeBlockDisposition - Compute a BlockDisposition value.
Modified: head/contrib/llvm/include/llvm/Argument.h
==============================================================================
--- head/contrib/llvm/include/llvm/Argument.h Sun Jun 12 15:46:57 2011 (r223016)
+++ head/contrib/llvm/include/llvm/Argument.h Sun Jun 12 18:01:31 2011 (r223017)
@@ -51,6 +51,9 @@ public:
/// hasByValAttr - Return true if this argument has the byval attribute on it
/// in its containing function.
bool hasByValAttr() const;
+
+ /// getParamAlignment - If this is a byval argument, return its alignment.
+ unsigned getParamAlignment() const;
/// hasNestAttr - Return true if this argument has the nest attribute on
/// it in its containing function.
Modified: head/contrib/llvm/include/llvm/Attributes.h
==============================================================================
--- head/contrib/llvm/include/llvm/Attributes.h Sun Jun 12 15:46:57 2011 (r223016)
+++ head/contrib/llvm/include/llvm/Attributes.h Sun Jun 12 18:01:31 2011 (r223017)
@@ -67,6 +67,20 @@ const Attributes StackAlignment = 7<<26
///alignstack(1))
const Attributes Hotpatch = 1<<29; ///< Function should have special
///'hotpatch' sequence in prologue
+const Attributes UWTable = 1<<30; ///< Function must be in a unwind
+ ///table
+
+/// Note that uwtable is about the ABI or the user mandating an entry in the
+/// unwind table. The nounwind attribute is about an exception passing by the
+/// function.
+/// In a theoretical system that uses tables for profiling and sjlj for
+/// exceptions, they would be fully independent. In a normal system that
+/// uses tables for both, the semantics are:
+/// nil = Needs an entry because an exception might pass by.
+/// nounwind = No need for an entry
+/// uwtable = Needs an entry because the ABI says so and because
+/// an exception might pass by.
+/// uwtable + nounwind = Needs an entry because the ABI says so.
/// @brief Attributes that only apply to function parameters.
const Attributes ParameterOnly = ByVal | Nest | StructRet | NoCapture;
@@ -76,7 +90,7 @@ const Attributes ParameterOnly = ByVal |
const Attributes FunctionOnly = NoReturn | NoUnwind | ReadNone | ReadOnly |
NoInline | AlwaysInline | OptimizeForSize | StackProtect | StackProtectReq |
NoRedZone | NoImplicitFloat | Naked | InlineHint | StackAlignment |
- Hotpatch;
+ Hotpatch | UWTable;
/// @brief Parameter attributes that do not apply to vararg call arguments.
const Attributes VarArgsIncompatible = StructRet;
Modified: head/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h
==============================================================================
--- head/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h Sun Jun 12 15:46:57 2011 (r223016)
+++ head/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h Sun Jun 12 18:01:31 2011 (r223017)
@@ -185,7 +185,14 @@ namespace llvm {
void emitPrologLabel(const MachineInstr &MI);
- bool needsCFIMoves();
+ enum CFIMoveType {
+ CFI_M_None,
+ CFI_M_EH,
+ CFI_M_Debug
+ };
+ CFIMoveType needsCFIMoves();
+
+ bool needsSEHMoves();
/// EmitConstantPool - Print to the current output stream assembly
/// representations of the constants in the constant pool MCP. This is
@@ -381,10 +388,6 @@ namespace llvm {
/// operands.
virtual MachineLocation getDebugValueLocation(const MachineInstr *MI) const;
- /// getDwarfRegOpSize - get size required to emit given machine location
- /// using dwarf encoding.
- virtual unsigned getDwarfRegOpSize(const MachineLocation &MLoc) const;
-
/// getISAEncoding - Get the value for DW_AT_APPLE_isa. Zero if no isa
/// encoding specified.
virtual unsigned getISAEncoding() { return 0; }
@@ -396,12 +399,9 @@ namespace llvm {
// Dwarf Lowering Routines
//===------------------------------------------------------------------===//
- /// EmitFrameMoves - Emit frame instructions to describe the layout of the
+ /// EmitCFIFrameMove - Emit frame instruction to describe the layout of the
/// frame.
- void EmitFrameMoves(const std::vector<MachineMove> &Moves,
- MCSymbol *BaseLabel, bool isEH) const;
void EmitCFIFrameMove(const MachineMove &Move) const;
- void EmitCFIFrameMoves(const std::vector<MachineMove> &Moves) const;
//===------------------------------------------------------------------===//
// Inline Asm Support
Modified: head/contrib/llvm/include/llvm/CodeGen/CallingConvLower.h
==============================================================================
--- head/contrib/llvm/include/llvm/CodeGen/CallingConvLower.h Sun Jun 12 15:46:57 2011 (r223016)
+++ head/contrib/llvm/include/llvm/CodeGen/CallingConvLower.h Sun Jun 12 18:01:31 2011 (r223017)
@@ -16,6 +16,7 @@
#define LLVM_CODEGEN_CALLINGCONVLOWER_H
#include "llvm/ADT/SmallVector.h"
+#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/ValueTypes.h"
#include "llvm/Target/TargetCallingConv.h"
#include "llvm/CallingConv.h"
@@ -141,14 +142,19 @@ typedef bool CCCustomFn(unsigned &ValNo,
MVT &LocVT, CCValAssign::LocInfo &LocInfo,
ISD::ArgFlagsTy &ArgFlags, CCState &State);
-typedef enum { Invalid, Prologue, Call } ParmContext;
+/// ParmContext - This enum tracks whether calling convention lowering is in
+/// the context of prologue or call generation. Not all backends make use of
+/// this information.
+typedef enum { Unknown, Prologue, Call } ParmContext;
/// CCState - This class holds information needed while lowering arguments and
/// return values. It captures which registers are already assigned and which
/// stack slots are used. It provides accessors to allocate these values.
class CCState {
+private:
CallingConv::ID CallingConv;
bool IsVarArg;
+ MachineFunction &MF;
const TargetMachine &TM;
const TargetRegisterInfo &TRI;
SmallVector<CCValAssign, 16> &Locs;
@@ -158,10 +164,14 @@ class CCState {
SmallVector<uint32_t, 16> UsedRegs;
unsigned FirstByValReg;
bool FirstByValRegValid;
+
+protected:
ParmContext CallOrPrologue;
+
public:
- CCState(CallingConv::ID CC, bool isVarArg, const TargetMachine &TM,
- SmallVector<CCValAssign, 16> &locs, LLVMContext &C);
+ CCState(CallingConv::ID CC, bool isVarArg, MachineFunction &MF,
+ const TargetMachine &TM, SmallVector<CCValAssign, 16> &locs,
+ LLVMContext &C);
void addLoc(const CCValAssign &V) {
Locs.push_back(V);
@@ -169,6 +179,7 @@ public:
LLVMContext &getContext() const { return Context; }
const TargetMachine &getTarget() const { return TM; }
+ MachineFunction &getMachineFunction() const { return MF; }
CallingConv::ID getCallingConv() const { return CallingConv; }
bool isVarArg() const { return IsVarArg; }
@@ -301,7 +312,6 @@ public:
bool isFirstByValRegValid() { return FirstByValRegValid; }
ParmContext getCallOrPrologue() { return CallOrPrologue; }
- void setCallOrPrologue(ParmContext pc) { CallOrPrologue = pc; }
private:
/// MarkAllocated - Mark a register and all of its aliases as allocated.
Modified: head/contrib/llvm/include/llvm/CodeGen/FastISel.h
==============================================================================
--- head/contrib/llvm/include/llvm/CodeGen/FastISel.h Sun Jun 12 15:46:57 2011 (r223016)
+++ head/contrib/llvm/include/llvm/CodeGen/FastISel.h Sun Jun 12 18:01:31 2011 (r223017)
@@ -241,6 +241,15 @@ protected:
unsigned Op0, bool Op0IsKill,
unsigned Op1, bool Op1IsKill);
+ /// FastEmitInst_rrr - Emit a MachineInstr with three register operands
+ /// and a result register in the given register class.
+ ///
+ unsigned FastEmitInst_rrr(unsigned MachineInstOpcode,
+ const TargetRegisterClass *RC,
+ unsigned Op0, bool Op0IsKill,
+ unsigned Op1, bool Op1IsKill,
+ unsigned Op2, bool Op2IsKill);
+
/// FastEmitInst_ri - Emit a MachineInstr with a register operand,
/// an immediate, and a result register in the given register class.
///
@@ -301,7 +310,7 @@ protected:
/// the CFG.
void FastEmitBranch(MachineBasicBlock *MBB, DebugLoc DL);
- unsigned UpdateValueMap(const Value* I, unsigned Reg);
+ void UpdateValueMap(const Value* I, unsigned Reg, unsigned NumRegs = 1);
unsigned createResultReg(const TargetRegisterClass *RC);
@@ -334,6 +343,8 @@ private:
bool SelectCast(const User *I, unsigned Opcode);
+ bool SelectExtractValue(const User *I);
+
/// HandlePHINodesInSuccessorBlocks - Handle PHI nodes in successor blocks.
/// Emit code to ensure constants are copied into registers when needed.
/// Remember the virtual registers that need to be added to the Machine PHI
Modified: head/contrib/llvm/include/llvm/CodeGen/ISDOpcodes.h
==============================================================================
--- head/contrib/llvm/include/llvm/CodeGen/ISDOpcodes.h Sun Jun 12 15:46:57 2011 (r223016)
+++ head/contrib/llvm/include/llvm/CodeGen/ISDOpcodes.h Sun Jun 12 18:01:31 2011 (r223017)
@@ -107,11 +107,11 @@ namespace ISD {
// and returns an outchain.
EH_SJLJ_LONGJMP,
- // OUTCHAIN = EH_SJLJ_DISPATCHSETUP(INCHAIN, context)
+ // OUTCHAIN = EH_SJLJ_DISPATCHSETUP(INCHAIN, setjmpval)
// This corresponds to the eh.sjlj.dispatchsetup intrinsic. It takes an
- // input chain and a pointer to the sjlj function context as inputs and
- // returns an outchain. By default, this does nothing. Targets can lower
- // this to unwind setup code if needed.
+ // input chain and the value returning from setjmp as inputs and returns an
+ // outchain. By default, this does nothing. Targets can lower this to unwind
+ // setup code if needed.
EH_SJLJ_DISPATCHSETUP,
// TargetConstant* - Like Constant*, but the DAG does not do any folding,
Modified: head/contrib/llvm/include/llvm/CodeGen/LiveInterval.h
==============================================================================
--- head/contrib/llvm/include/llvm/CodeGen/LiveInterval.h Sun Jun 12 15:46:57 2011 (r223016)
+++ head/contrib/llvm/include/llvm/CodeGen/LiveInterval.h Sun Jun 12 18:01:31 2011 (r223017)
@@ -492,9 +492,10 @@ namespace llvm {
/// Returns true if the live interval is zero length, i.e. no live ranges
/// span instructions. It doesn't pay to spill such an interval.
- bool isZeroLength() const {
+ bool isZeroLength(SlotIndexes *Indexes) const {
for (const_iterator i = begin(), e = end(); i != e; ++i)
- if (i->end.getPrevIndex() > i->start)
+ if (Indexes->getNextNonNullIndex(i->start).getBaseIndex() <
+ i->end.getBaseIndex())
return false;
return true;
}
Modified: head/contrib/llvm/include/llvm/CodeGen/MachineInstr.h
==============================================================================
--- head/contrib/llvm/include/llvm/CodeGen/MachineInstr.h Sun Jun 12 15:46:57 2011 (r223016)
+++ head/contrib/llvm/include/llvm/CodeGen/MachineInstr.h Sun Jun 12 18:01:31 2011 (r223017)
@@ -229,6 +229,7 @@ public:
enum MICheckType {
CheckDefs, // Check all operands for equality
+ CheckKillDead, // Check all operands including kill / dead markers
IgnoreDefs, // Ignore all definitions
IgnoreVRegDefs // Ignore virtual register definitions
};
Modified: head/contrib/llvm/include/llvm/CodeGen/MachineInstrBuilder.h
==============================================================================
--- head/contrib/llvm/include/llvm/CodeGen/MachineInstrBuilder.h Sun Jun 12 15:46:57 2011 (r223016)
+++ head/contrib/llvm/include/llvm/CodeGen/MachineInstrBuilder.h Sun Jun 12 18:01:31 2011 (r223017)
@@ -88,7 +88,7 @@ public:
return *this;
}
- const MachineInstrBuilder &addFrameIndex(unsigned Idx) const {
+ const MachineInstrBuilder &addFrameIndex(int Idx) const {
MI->addOperand(MachineOperand::CreateFI(Idx));
return *this;
}
Modified: head/contrib/llvm/include/llvm/CodeGen/MachineModuleInfo.h
==============================================================================
--- head/contrib/llvm/include/llvm/CodeGen/MachineModuleInfo.h Sun Jun 12 15:46:57 2011 (r223016)
+++ head/contrib/llvm/include/llvm/CodeGen/MachineModuleInfo.h Sun Jun 12 18:01:31 2011 (r223017)
@@ -52,27 +52,13 @@ namespace llvm {
class Constant;
class GlobalVariable;
class MDNode;
+class MMIAddrLabelMap;
class MachineBasicBlock;
class MachineFunction;
class Module;
class PointerType;
class StructType;
-/// MachineModuleInfoImpl - This class can be derived from and used by targets
-/// to hold private target-specific information for each Module. Objects of
-/// type are accessed/created with MMI::getInfo and destroyed when the
-/// MachineModuleInfo is destroyed.
-class MachineModuleInfoImpl {
-public:
- typedef PointerIntPair<MCSymbol*, 1, bool> StubValueTy;
- virtual ~MachineModuleInfoImpl();
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-head
mailing list