From d7f7719e5e082c0b8ea2182dcbd2242b7834aa26 Mon Sep 17 00:00:00 2001
From: Roman Divacky
Date: Tue, 4 May 2010 16:11:02 +0000
Subject: [PATCH] Update LLVM to r103004.
---
Makefile | 11 +
Makefile.config.in | 4 +
Makefile.rules | 57 +-
autoconf/configure.ac | 17 +-
autoconf/m4/link_options.m4 | 47 +-
bindings/ocaml/llvm/llvm.ml | 76 +-
bindings/ocaml/llvm/llvm.mli | 26 +-
bindings/ocaml/llvm/llvm_ocaml.c | 17 +-
configure | 135 +-
docs/CodeGenerator.html | 4 +-
docs/CommandGuide/lli.pod | 4 +-
docs/GoldPlugin.html | 35 +-
docs/HowToSubmitABug.html | 10 +-
docs/LangRef.html | 313 ++++-
docs/LinkTimeOptimization.html | 4 +-
docs/Passes.html | 12 +-
docs/ReleaseNotes.html | 736 ++++++----
docs/TableGenFundamentals.html | 7 +-
docs/WritingAnLLVMPass.html | 4 +-
examples/ExceptionDemo/ExceptionDemo.cpp | 5 +-
examples/ExceptionDemo/Makefile | 3 +-
include/llvm-c/Core.h | 2 +
include/llvm-c/EnhancedDisassembly.h | 3 +-
include/llvm-c/Target.h | 10 +-
include/llvm-c/Transforms/IPO.h | 6 +
include/llvm/ADT/APInt.h | 64 +
include/llvm/ADT/BitVector.h | 5 +
include/llvm/ADT/DenseMapInfo.h | 10 +
include/llvm/ADT/ImmutableSet.h | 2 +
include/llvm/ADT/Optional.h | 66 +
include/llvm/ADT/SCCIterator.h | 68 +-
include/llvm/ADT/SmallBitVector.h | 165 ++-
include/llvm/ADT/SmallVector.h | 2 +-
include/llvm/ADT/StringExtras.h | 21 +-
include/llvm/ADT/StringRef.h | 4 +-
include/llvm/Analysis/CallGraph.h | 8 +
include/llvm/Analysis/DebugInfo.h | 8 +-
include/llvm/Analysis/IVUsers.h | 74 +-
include/llvm/Analysis/InlineCost.h | 20 +-
include/llvm/Analysis/InstructionSimplify.h | 4 +
include/llvm/Analysis/Lint.h | 52 +
include/llvm/Analysis/PointerTracking.h | 2 +-
include/llvm/Analysis/ScalarEvolution.h | 29 +-
.../llvm/Analysis/ScalarEvolutionExpander.h | 29 +-
.../Analysis/ScalarEvolutionNormalization.h | 78 ++
include/llvm/Analysis/ValueTracking.h | 3 +-
include/llvm/Analysis/Verifier.h | 2 +-
include/llvm/Bitcode/Archive.h | 4 +-
include/llvm/CallGraphSCCPass.h | 34 +-
include/llvm/CodeGen/Analysis.h | 80 ++
include/llvm/CodeGen/AsmPrinter.h | 34 +-
include/llvm/CodeGen/FastISel.h | 69 +-
include/llvm/CodeGen/GCMetadata.h | 6 +-
include/llvm/CodeGen/ISDOpcodes.h | 765 +++++++++++
include/llvm/CodeGen/JITCodeEmitter.h | 16 +-
.../llvm/CodeGen/LinkAllCodegenComponents.h | 1 +
include/llvm/CodeGen/LiveIntervalAnalysis.h | 6 +
include/llvm/CodeGen/MachineBasicBlock.h | 9 +-
include/llvm/CodeGen/MachineConstantPool.h | 6 +-
include/llvm/CodeGen/MachineFunction.h | 25 +-
include/llvm/CodeGen/MachineInstr.h | 12 +-
include/llvm/CodeGen/MachineInstrBuilder.h | 2 +-
include/llvm/CodeGen/MachineModuleInfo.h | 31 +-
include/llvm/CodeGen/MachineOperand.h | 12 +-
include/llvm/CodeGen/MachineRegisterInfo.h | 24 +-
include/llvm/CodeGen/MachineSSAUpdater.h | 24 +-
include/llvm/CodeGen/Passes.h | 9 +-
include/llvm/CodeGen/ScheduleDAG.h | 4 +-
include/llvm/CodeGen/SelectionDAG.h | 46 +-
include/llvm/CodeGen/SelectionDAGISel.h | 42 +-
include/llvm/CodeGen/SelectionDAGNodes.h | 767 +----------
include/llvm/CodeGen/SlotIndexes.h | 10 +-
.../CodeGen/TargetLoweringObjectFileImpl.h | 30 +-
include/llvm/Config/config.h.in | 3 +
include/llvm/InlineAsm.h | 47 +-
include/llvm/IntrinsicInst.h | 3 +-
include/llvm/IntrinsicsX86.td | 10 -
include/llvm/LLVMContext.h | 10 +
include/llvm/LinkAllPasses.h | 3 +-
include/llvm/MC/EDInstInfo.h | 29 +
include/llvm/MC/MCAsmInfo.h | 11 +-
include/llvm/MC/MCContext.h | 27 +
include/llvm/MC/MCDisassembler.h | 12 +-
include/llvm/MC/MCObjectWriter.h | 2 +-
include/llvm/MC/MCParser/AsmParser.h | 15 +-
include/llvm/MC/MCParser/MCAsmLexer.h | 2 +-
include/llvm/MC/MCSectionELF.h | 43 +-
include/llvm/MC/MCSectionMachO.h | 24 +-
include/llvm/Metadata.h | 2 +-
include/llvm/Support/Allocator.h | 2 +
include/llvm/Support/CFG.h | 86 +-
include/llvm/Support/CallSite.h | 174 ++-
include/llvm/Support/Dwarf.h | 1 +
include/llvm/Support/ELF.h | 11 +
include/llvm/Support/ErrorHandling.h | 24 +-
include/llvm/Support/GraphWriter.h | 5 +-
include/llvm/Support/IRBuilder.h | 61 +-
include/llvm/Support/IRReader.h | 14 +-
include/llvm/Support/RecyclingAllocator.h | 7 +
include/llvm/Support/SourceMgr.h | 19 +-
include/llvm/Support/ValueHandle.h | 2 +-
include/llvm/Support/raw_ostream.h | 2 +-
include/llvm/System/DataTypes.h.in | 2 +-
include/llvm/Target/Target.td | 21 +-
include/llvm/Target/TargetInstrInfo.h | 27 +-
include/llvm/Target/TargetInstrItineraries.h | 20 +-
include/llvm/Target/TargetLowering.h | 118 +-
include/llvm/Target/TargetMachine.h | 19 +-
include/llvm/Target/TargetOpcodes.h | 12 +-
include/llvm/Target/TargetOptions.h | 22 +-
include/llvm/Target/TargetRegisterInfo.h | 2 +-
include/llvm/Target/TargetSchedule.td | 18 +-
include/llvm/Target/TargetSelectionDAGInfo.h | 36 +
include/llvm/Transforms/IPO/InlinerPass.h | 4 +-
include/llvm/Transforms/Scalar.h | 8 +-
include/llvm/Transforms/Utils/BuildLibCalls.h | 2 +-
include/llvm/Transforms/Utils/Cloning.h | 45 +-
include/llvm/Transforms/Utils/SSAUpdater.h | 30 +-
include/llvm/Type.h | 3 +
lib/Analysis/AliasAnalysisEvaluator.cpp | 33 +-
lib/Analysis/BasicAliasAnalysis.cpp | 5 +
lib/Analysis/CMakeLists.txt | 2 +
lib/Analysis/ConstantFolding.cpp | 2 +-
lib/Analysis/DebugInfo.cpp | 35 +-
lib/Analysis/DomPrinter.cpp | 25 -
lib/Analysis/IPA/CallGraph.cpp | 29 +-
lib/Analysis/IPA/CallGraphSCCPass.cpp | 360 +++--
lib/Analysis/IVUsers.cpp | 287 ++--
lib/Analysis/InlineCost.cpp | 140 +-
lib/Analysis/InstructionSimplify.cpp | 32 +
lib/Analysis/Lint.cpp | 495 +++++++
lib/Analysis/LoopInfo.cpp | 4 +-
lib/Analysis/PointerTracking.cpp | 8 +-
lib/Analysis/PostDominators.cpp | 1 -
lib/Analysis/README.txt | 12 +
lib/Analysis/ScalarEvolution.cpp | 938 ++++++++-----
lib/Analysis/ScalarEvolutionExpander.cpp | 56 +-
lib/Analysis/ScalarEvolutionNormalization.cpp | 150 +++
lib/Analysis/ValueTracking.cpp | 25 +-
lib/Archive/Archive.cpp | 5 +-
lib/Archive/ArchiveInternals.h | 2 +-
lib/Archive/ArchiveReader.cpp | 20 +-
lib/Archive/ArchiveWriter.cpp | 3 +-
lib/Archive/CMakeLists.txt | 2 +-
lib/AsmParser/LLParser.cpp | 51 +-
lib/AsmParser/LLParser.h | 2 +-
lib/AsmParser/Parser.cpp | 4 +-
lib/CodeGen/AggressiveAntiDepBreaker.cpp | 56 +-
lib/CodeGen/AggressiveAntiDepBreaker.h | 6 +-
lib/CodeGen/Analysis.cpp | 285 ++++
lib/CodeGen/AntiDepBreaker.h | 6 +-
lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 332 ++++-
.../AsmPrinter/AsmPrinterInlineAsm.cpp | 61 +-
lib/CodeGen/AsmPrinter/CMakeLists.txt | 2 +
lib/CodeGen/AsmPrinter/DIE.h | 3 +-
lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 870 +++++++-----
lib/CodeGen/AsmPrinter/DwarfDebug.h | 74 +-
lib/CodeGen/AsmPrinter/DwarfException.cpp | 33 +-
lib/CodeGen/AsmPrinter/DwarfException.h | 4 -
lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp | 22 +-
lib/CodeGen/BranchFolding.cpp | 29 +-
lib/CodeGen/CMakeLists.txt | 2 +
lib/CodeGen/CriticalAntiDepBreaker.cpp | 26 +-
lib/CodeGen/CriticalAntiDepBreaker.h | 6 +-
lib/CodeGen/DwarfEHPrepare.cpp | 16 +-
lib/CodeGen/ELFWriter.cpp | 10 +-
lib/CodeGen/ELFWriter.h | 2 +-
lib/CodeGen/ExactHazardRecognizer.cpp | 95 +-
lib/CodeGen/ExactHazardRecognizer.h | 71 +-
lib/CodeGen/GCStrategy.cpp | 7 +-
lib/CodeGen/IntrinsicLowering.cpp | 6 +-
lib/CodeGen/LLVMTargetMachine.cpp | 21 +-
lib/CodeGen/LiveIntervalAnalysis.cpp | 28 +-
lib/CodeGen/LiveVariables.cpp | 2 +-
lib/CodeGen/MachineBasicBlock.cpp | 9 +-
lib/CodeGen/MachineCSE.cpp | 96 +-
lib/CodeGen/MachineFunction.cpp | 18 +-
lib/CodeGen/MachineFunctionAnalysis.cpp | 3 +-
lib/CodeGen/MachineInstr.cpp | 63 +-
lib/CodeGen/MachineLICM.cpp | 339 ++++-
lib/CodeGen/MachineModuleInfo.cpp | 31 +-
lib/CodeGen/MachineRegisterInfo.cpp | 135 ++
lib/CodeGen/MachineSSAUpdater.cpp | 548 ++++++--
lib/CodeGen/MachineSink.cpp | 30 +-
lib/CodeGen/MachineVerifier.cpp | 8 +-
lib/CodeGen/PostRASchedulerList.cpp | 16 +-
lib/CodeGen/PrologEpilogInserter.cpp | 88 +-
lib/CodeGen/RegAllocFast.cpp | 932 +++++++++++++
lib/CodeGen/RegAllocLinearScan.cpp | 2 +-
lib/CodeGen/RegAllocLocal.cpp | 48 +-
lib/CodeGen/RegisterScavenging.cpp | 5 +-
lib/CodeGen/ScheduleDAG.cpp | 1 -
lib/CodeGen/ScheduleDAGInstrs.cpp | 11 +-
lib/CodeGen/ScheduleDAGInstrs.h | 4 +-
lib/CodeGen/SelectionDAG/CMakeLists.txt | 1 +
lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 612 ++++++++-
lib/CodeGen/SelectionDAG/FastISel.cpp | 211 ++-
.../SelectionDAG/FunctionLoweringInfo.cpp | 175 +--
.../SelectionDAG/FunctionLoweringInfo.h | 97 +-
lib/CodeGen/SelectionDAG/InstrEmitter.cpp | 131 +-
lib/CodeGen/SelectionDAG/InstrEmitter.h | 15 +-
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 84 +-
.../SelectionDAG/LegalizeFloatTypes.cpp | 18 +-
.../SelectionDAG/LegalizeIntegerTypes.cpp | 23 +-
lib/CodeGen/SelectionDAG/LegalizeTypes.cpp | 24 +-
lib/CodeGen/SelectionDAG/LegalizeTypes.h | 2 +-
.../SelectionDAG/LegalizeTypesGeneric.cpp | 17 +-
.../SelectionDAG/LegalizeVectorOps.cpp | 2 +-
.../SelectionDAG/LegalizeVectorTypes.cpp | 20 +-
lib/CodeGen/SelectionDAG/SDNodeDbgValue.h | 7 +-
.../SelectionDAG/ScheduleDAGRRList.cpp | 12 +-
.../SelectionDAG/ScheduleDAGSDNodes.cpp | 62 +-
lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h | 6 +-
lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 111 +-
.../SelectionDAG/SelectionDAGBuilder.cpp | 957 ++++++-------
.../SelectionDAG/SelectionDAGBuilder.h | 255 ++--
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 589 +++-----
lib/CodeGen/SelectionDAG/TargetLowering.cpp | 59 +-
.../SelectionDAG/TargetSelectionDAGInfo.cpp | 21 +
lib/CodeGen/ShadowStackGC.cpp | 2 +-
lib/CodeGen/SimpleRegisterCoalescing.cpp | 277 ++--
lib/CodeGen/SimpleRegisterCoalescing.h | 13 +-
lib/CodeGen/Spiller.cpp | 26 +-
lib/CodeGen/StackSlotColoring.cpp | 3 +-
lib/CodeGen/TargetInstrInfoImpl.cpp | 2 +-
lib/CodeGen/TargetLoweringObjectFileImpl.cpp | 461 ++++---
lib/CodeGen/VirtRegRewriter.cpp | 25 +-
lib/CodeGen/VirtRegRewriter.h | 7 +-
lib/ExecutionEngine/ExecutionEngine.cpp | 18 +-
lib/ExecutionEngine/Interpreter/Execution.cpp | 4 +-
.../Interpreter/ExternalFunctions.cpp | 10 +-
lib/ExecutionEngine/Interpreter/Interpreter.h | 4 +-
lib/ExecutionEngine/JIT/Intercept.cpp | 2 +-
lib/ExecutionEngine/JIT/JIT.cpp | 12 +-
.../JIT/JITDebugRegisterer.cpp | 2 +-
lib/ExecutionEngine/JIT/JITDwarfEmitter.cpp | 18 +-
lib/ExecutionEngine/JIT/JITEmitter.cpp | 99 +-
lib/ExecutionEngine/JIT/JITMemoryManager.cpp | 8 +-
.../JIT/OProfileJITEventListener.cpp | 55 +-
lib/MC/MCAsmInfo.cpp | 1 +
lib/MC/MCAssembler.cpp | 16 +-
lib/MC/MCContext.cpp | 72 +-
lib/MC/MCParser/AsmLexer.cpp | 5 +
lib/MC/MCParser/AsmParser.cpp | 209 ++-
lib/MC/MCSectionELF.cpp | 114 +-
lib/MC/MCSectionMachO.cpp | 24 +-
lib/MC/MachObjectWriter.cpp | 24 +-
lib/Support/Allocator.cpp | 9 +-
lib/Support/Debug.cpp | 11 +-
lib/Support/Dwarf.cpp | 3 +-
lib/Support/ErrorHandling.cpp | 33 +-
lib/Support/GraphWriter.cpp | 45 +-
lib/Support/SourceMgr.cpp | 2 +-
lib/Support/Timer.cpp | 4 +
lib/Support/circular_raw_ostream.cpp | 12 +-
lib/Support/raw_ostream.cpp | 7 +-
lib/Support/regengine.inc | 2 +-
lib/System/DynamicLibrary.cpp | 24 +-
lib/System/Program.cpp | 6 +-
lib/System/Unix/Path.inc | 25 +-
lib/System/Unix/Program.inc | 103 +-
lib/Target/ARM/ARM.td | 3 +-
lib/Target/ARM/ARMAddressingModes.h | 21 +-
lib/Target/ARM/ARMBaseInstrInfo.cpp | 14 +-
lib/Target/ARM/ARMBaseInstrInfo.h | 6 +
lib/Target/ARM/ARMBaseRegisterInfo.cpp | 18 +-
lib/Target/ARM/ARMCodeEmitter.cpp | 29 +-
lib/Target/ARM/ARMConstantPoolValue.cpp | 9 +-
lib/Target/ARM/ARMConstantPoolValue.h | 10 +-
lib/Target/ARM/ARMExpandPseudoInsts.cpp | 2 +-
lib/Target/ARM/ARMISelDAGToDAG.cpp | 123 +-
lib/Target/ARM/ARMISelLowering.cpp | 235 ++--
lib/Target/ARM/ARMISelLowering.h | 68 +-
lib/Target/ARM/ARMInstrInfo.td | 29 +-
lib/Target/ARM/ARMInstrNEON.td | 217 +--
lib/Target/ARM/ARMInstrThumb2.td | 18 +-
lib/Target/ARM/ARMInstrVFP.td | 24 +-
lib/Target/ARM/ARMJITInfo.cpp | 2 +-
lib/Target/ARM/ARMLoadStoreOptimizer.cpp | 2 +-
lib/Target/ARM/ARMMachineFunctionInfo.h | 10 +-
lib/Target/ARM/ARMSchedule.td | 27 +-
lib/Target/ARM/ARMScheduleA8.td | 618 +++++++++
lib/Target/ARM/ARMScheduleA9.td | 749 +++++++++++
lib/Target/ARM/ARMScheduleV6.td | 142 +-
lib/Target/ARM/ARMScheduleV7.td | 587 --------
lib/Target/ARM/ARMSelectionDAGInfo.cpp | 22 +
lib/Target/ARM/ARMSelectionDAGInfo.h | 29 +
lib/Target/ARM/ARMSubtarget.cpp | 3 +-
lib/Target/ARM/ARMSubtarget.h | 2 +-
lib/Target/ARM/ARMTargetMachine.cpp | 10 +-
lib/Target/ARM/ARMTargetMachine.h | 8 +-
lib/Target/ARM/ARMTargetObjectFile.cpp | 15 +-
lib/Target/ARM/AsmParser/ARMAsmLexer.cpp | 140 ++
lib/Target/ARM/AsmParser/ARMAsmParser.cpp | 3 +
lib/Target/ARM/AsmParser/CMakeLists.txt | 1 +
lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp | 46 +-
lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp | 22 +-
lib/Target/ARM/AsmPrinter/ARMInstPrinter.h | 8 +-
lib/Target/ARM/CMakeLists.txt | 2 +
.../ARM/Disassembler/ARMDisassembler.cpp | 54 +-
lib/Target/ARM/Disassembler/ARMDisassembler.h | 10 +-
.../ARM/Disassembler/ARMDisassemblerCore.cpp | 516 ++++---
.../ARM/Disassembler/ARMDisassemblerCore.h | 40 +-
lib/Target/ARM/Disassembler/Makefile | 16 +
.../ARM/Disassembler/ThumbDisassemblerCore.h | 409 +++---
lib/Target/ARM/Makefile | 5 +-
lib/Target/ARM/Thumb1RegisterInfo.cpp | 14 +-
lib/Target/ARM/Thumb2InstrInfo.cpp | 28 +-
lib/Target/ARM/Thumb2RegisterInfo.cpp | 2 +-
lib/Target/ARM/Thumb2SizeReduction.cpp | 9 +-
lib/Target/Alpha/AlphaCodeEmitter.cpp | 11 +-
lib/Target/Alpha/AlphaISelDAGToDAG.cpp | 3 +-
lib/Target/Alpha/AlphaISelLowering.cpp | 44 +-
lib/Target/Alpha/AlphaISelLowering.h | 22 +-
lib/Target/Alpha/AlphaJITInfo.cpp | 2 +-
lib/Target/Alpha/AlphaMachineFunctionInfo.h | 18 +-
lib/Target/Alpha/AlphaRegisterInfo.cpp | 17 +-
lib/Target/Alpha/AlphaSchedule.td | 3 +-
lib/Target/Alpha/AlphaSelectionDAGInfo.cpp | 22 +
lib/Target/Alpha/AlphaSelectionDAGInfo.h | 29 +
lib/Target/Alpha/AlphaTargetMachine.h | 4 +-
.../Alpha/AsmPrinter/AlphaAsmPrinter.cpp | 2 +-
lib/Target/Alpha/CMakeLists.txt | 1 +
lib/Target/Blackfin/BlackfinISelDAGToDAG.cpp | 1 -
lib/Target/Blackfin/BlackfinISelLowering.cpp | 21 +-
lib/Target/Blackfin/BlackfinISelLowering.h | 19 +-
lib/Target/Blackfin/BlackfinRegisterInfo.cpp | 3 +-
.../Blackfin/BlackfinSelectionDAGInfo.cpp | 22 +
.../Blackfin/BlackfinSelectionDAGInfo.h | 29 +
lib/Target/Blackfin/BlackfinTargetMachine.h | 4 +-
lib/Target/Blackfin/CMakeLists.txt | 1 +
lib/Target/CBackend/CBackend.cpp | 49 +-
lib/Target/CellSPU/AsmPrinter/CMakeLists.txt | 16 +-
.../CellSPU/AsmPrinter/SPUAsmPrinter.cpp | 4 +-
lib/Target/CellSPU/CMakeLists.txt | 1 +
lib/Target/CellSPU/SPUISelDAGToDAG.cpp | 46 +-
lib/Target/CellSPU/SPUISelLowering.cpp | 99 +-
lib/Target/CellSPU/SPUISelLowering.h | 10 +-
lib/Target/CellSPU/SPUMCAsmInfo.cpp | 1 -
lib/Target/CellSPU/SPUMachineFunction.h | 8 +-
lib/Target/CellSPU/SPURegisterInfo.cpp | 14 +-
lib/Target/CellSPU/SPUSchedule.td | 2 +-
lib/Target/CellSPU/SPUSelectionDAGInfo.cpp | 22 +
lib/Target/CellSPU/SPUSelectionDAGInfo.h | 29 +
lib/Target/CellSPU/SPUTargetMachine.h | 4 +-
lib/Target/CppBackend/CPPBackend.cpp | 15 +-
lib/Target/MBlaze/AsmPrinter/CMakeLists.txt | 16 +-
.../MBlaze/AsmPrinter/MBlazeAsmPrinter.cpp | 4 +-
lib/Target/MBlaze/CMakeLists.txt | 1 +
lib/Target/MBlaze/MBlazeISelDAGToDAG.cpp | 1 -
lib/Target/MBlaze/MBlazeISelLowering.cpp | 58 +-
lib/Target/MBlaze/MBlazeISelLowering.h | 31 +-
lib/Target/MBlaze/MBlazeMachineFunction.h | 8 +-
lib/Target/MBlaze/MBlazeRegisterInfo.cpp | 2 +-
lib/Target/MBlaze/MBlazeSchedule.td | 3 +-
lib/Target/MBlaze/MBlazeSelectionDAGInfo.cpp | 22 +
lib/Target/MBlaze/MBlazeSelectionDAGInfo.h | 29 +
lib/Target/MBlaze/MBlazeTargetMachine.h | 4 +-
lib/Target/MBlaze/MBlazeTargetObjectFile.cpp | 13 +-
.../MSP430/AsmPrinter/MSP430MCInstLower.cpp | 12 +
.../MSP430/AsmPrinter/MSP430MCInstLower.h | 1 +
lib/Target/MSP430/CMakeLists.txt | 1 +
lib/Target/MSP430/MSP430BranchSelector.cpp | 2 +-
lib/Target/MSP430/MSP430ISelDAGToDAG.cpp | 11 +-
lib/Target/MSP430/MSP430ISelLowering.cpp | 78 +-
lib/Target/MSP430/MSP430ISelLowering.h | 41 +-
lib/Target/MSP430/MSP430InstrInfo.cpp | 10 +-
lib/Target/MSP430/MSP430InstrInfo.td | 31 +-
lib/Target/MSP430/MSP430RegisterInfo.cpp | 2 +-
lib/Target/MSP430/MSP430SelectionDAGInfo.cpp | 22 +
lib/Target/MSP430/MSP430SelectionDAGInfo.h | 29 +
lib/Target/MSP430/MSP430TargetMachine.h | 4 +-
lib/Target/Mangler.cpp | 13 +-
lib/Target/Mips/AsmPrinter/CMakeLists.txt | 16 +-
lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp | 2 +-
lib/Target/Mips/CMakeLists.txt | 1 +
lib/Target/Mips/MipsISelDAGToDAG.cpp | 1 -
lib/Target/Mips/MipsISelLowering.cpp | 58 +-
lib/Target/Mips/MipsISelLowering.h | 41 +-
lib/Target/Mips/MipsMachineFunction.h | 9 +-
lib/Target/Mips/MipsRegisterInfo.cpp | 2 +-
lib/Target/Mips/MipsSchedule.td | 2 +-
lib/Target/Mips/MipsSelectionDAGInfo.cpp | 22 +
lib/Target/Mips/MipsSelectionDAGInfo.h | 29 +
lib/Target/Mips/MipsTargetMachine.h | 4 +-
lib/Target/Mips/MipsTargetObjectFile.cpp | 13 +-
lib/Target/PIC16/AsmPrinter/CMakeLists.txt | 14 +-
.../PIC16/AsmPrinter/PIC16AsmPrinter.cpp | 8 +-
lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.h | 7 +-
lib/Target/PIC16/CMakeLists.txt | 1 +
lib/Target/PIC16/PIC16.h | 36 +-
lib/Target/PIC16/PIC16ISelDAGToDAG.h | 11 +-
lib/Target/PIC16/PIC16ISelLowering.cpp | 156 ++-
lib/Target/PIC16/PIC16ISelLowering.h | 106 +-
lib/Target/PIC16/PIC16InstrInfo.cpp | 16 +-
lib/Target/PIC16/PIC16MachineFunctionInfo.h | 52 +
lib/Target/PIC16/PIC16Passes/PIC16Cloner.cpp | 2 +-
lib/Target/PIC16/PIC16SelectionDAGInfo.cpp | 22 +
lib/Target/PIC16/PIC16SelectionDAGInfo.h | 29 +
lib/Target/PIC16/PIC16TargetMachine.h | 4 +-
lib/Target/PIC16/PIC16TargetObjectFile.cpp | 7 +-
lib/Target/PIC16/PIC16TargetObjectFile.h | 2 +-
lib/Target/PowerPC/AsmPrinter/CMakeLists.txt | 2 +-
.../PowerPC/AsmPrinter/PPCAsmPrinter.cpp | 64 +-
lib/Target/PowerPC/CMakeLists.txt | 1 +
lib/Target/PowerPC/PPCCodeEmitter.cpp | 2 +-
lib/Target/PowerPC/PPCISelDAGToDAG.cpp | 5 +-
lib/Target/PowerPC/PPCISelLowering.cpp | 227 ++--
lib/Target/PowerPC/PPCISelLowering.h | 105 +-
lib/Target/PowerPC/PPCInstrInfo.cpp | 16 +-
lib/Target/PowerPC/PPCInstrInfo.h | 6 +
lib/Target/PowerPC/PPCMachineFunctionInfo.h | 30 +-
lib/Target/PowerPC/PPCRegisterInfo.cpp | 28 +-
lib/Target/PowerPC/PPCSchedule.td | 3 -
lib/Target/PowerPC/PPCScheduleG3.td | 3 +-
lib/Target/PowerPC/PPCScheduleG4.td | 3 +-
lib/Target/PowerPC/PPCScheduleG4Plus.td | 6 +-
lib/Target/PowerPC/PPCScheduleG5.td | 3 +-
lib/Target/PowerPC/PPCSelectionDAGInfo.cpp | 22 +
lib/Target/PowerPC/PPCSelectionDAGInfo.h | 29 +
lib/Target/PowerPC/PPCTargetMachine.h | 4 +-
lib/Target/README.txt | 31 +-
lib/Target/Sparc/AsmPrinter/CMakeLists.txt | 2 +-
lib/Target/Sparc/CMakeLists.txt | 1 +
lib/Target/Sparc/SparcISelDAGToDAG.cpp | 2 -
lib/Target/Sparc/SparcISelLowering.cpp | 43 +-
lib/Target/Sparc/SparcISelLowering.h | 21 +-
lib/Target/Sparc/SparcMachineFunctionInfo.h | 12 +-
lib/Target/Sparc/SparcSelectionDAGInfo.cpp | 22 +
lib/Target/Sparc/SparcSelectionDAGInfo.h | 29 +
lib/Target/Sparc/SparcTargetMachine.h | 4 +-
lib/Target/SystemZ/CMakeLists.txt | 1 +
lib/Target/SystemZ/SystemZISelDAGToDAG.cpp | 5 +-
lib/Target/SystemZ/SystemZISelLowering.cpp | 41 +-
lib/Target/SystemZ/SystemZISelLowering.h | 29 +-
lib/Target/SystemZ/SystemZInstrBuilder.h | 2 +-
lib/Target/SystemZ/SystemZMCAsmInfo.cpp | 8 +-
lib/Target/SystemZ/SystemZMCAsmInfo.h | 2 +-
lib/Target/SystemZ/SystemZRegisterInfo.cpp | 4 +-
.../SystemZ/SystemZSelectionDAGInfo.cpp | 22 +
lib/Target/SystemZ/SystemZSelectionDAGInfo.h | 29 +
lib/Target/SystemZ/SystemZTargetMachine.h | 4 +-
lib/Target/TargetData.cpp | 33 +-
lib/Target/TargetLoweringObjectFile.cpp | 2 +-
lib/Target/TargetMachine.cpp | 59 +-
lib/Target/X86/AsmParser/X86AsmParser.cpp | 29 +-
lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp | 27 +-
lib/Target/X86/AsmPrinter/X86AsmPrinter.h | 2 +
lib/Target/X86/AsmPrinter/X86MCInstLower.cpp | 80 +-
lib/Target/X86/CMakeLists.txt | 2 +
lib/Target/X86/Disassembler/CMakeLists.txt | 7 +
.../X86/Disassembler/X86Disassembler.cpp | 6 +
lib/Target/X86/Disassembler/X86Disassembler.h | 5 +
.../X86/Disassembler/X86DisassemblerDecoder.c | 4 +
.../X86DisassemblerDecoderCommon.h | 1 +
lib/Target/X86/SSEDomainFix.cpp | 20 +-
lib/Target/X86/X86.h | 6 +
lib/Target/X86/X86AsmBackend.cpp | 2 +-
lib/Target/X86/X86CodeEmitter.cpp | 24 +-
lib/Target/X86/X86ELFWriterInfo.cpp | 1 -
lib/Target/X86/X86FastISel.cpp | 183 +--
lib/Target/X86/X86FloatingPoint.cpp | 13 +-
lib/Target/X86/X86ISelDAGToDAG.cpp | 125 +-
lib/Target/X86/X86ISelLowering.cpp | 594 +++++----
lib/Target/X86/X86ISelLowering.h | 207 +--
lib/Target/X86/X86Instr64bit.td | 34 +-
lib/Target/X86/X86InstrBuilder.h | 2 +-
lib/Target/X86/X86InstrFPStack.td | 12 +-
lib/Target/X86/X86InstrInfo.cpp | 70 +-
lib/Target/X86/X86InstrInfo.h | 8 +
lib/Target/X86/X86InstrInfo.td | 175 +--
lib/Target/X86/X86InstrMMX.td | 13 +-
lib/Target/X86/X86InstrSSE.td | 47 +-
lib/Target/X86/X86MCAsmInfo.cpp | 8 +-
lib/Target/X86/X86MCAsmInfo.h | 2 +-
lib/Target/X86/X86MachineFunctionInfo.h | 44 +-
lib/Target/X86/X86RegisterInfo.cpp | 67 +-
lib/Target/X86/X86RegisterInfo.td | 38 +-
lib/Target/X86/X86SelectionDAGInfo.cpp | 22 +
lib/Target/X86/X86SelectionDAGInfo.h | 29 +
lib/Target/X86/X86Subtarget.h | 3 +-
lib/Target/X86/X86TargetMachine.cpp | 11 +-
lib/Target/X86/X86TargetMachine.h | 4 +-
.../XCore/AsmPrinter/XCoreAsmPrinter.cpp | 4 +-
lib/Target/XCore/CMakeLists.txt | 2 +-
lib/Target/XCore/MCSectionXCore.cpp | 35 -
lib/Target/XCore/MCSectionXCore.h | 54 -
lib/Target/XCore/XCoreISelDAGToDAG.cpp | 3 +-
lib/Target/XCore/XCoreISelLowering.cpp | 67 +-
lib/Target/XCore/XCoreISelLowering.h | 60 +-
lib/Target/XCore/XCoreRegisterInfo.cpp | 51 +-
lib/Target/XCore/XCoreSelectionDAGInfo.cpp | 22 +
lib/Target/XCore/XCoreSelectionDAGInfo.h | 29 +
lib/Target/XCore/XCoreTargetMachine.h | 4 +-
lib/Target/XCore/XCoreTargetObjectFile.cpp | 55 +-
lib/Transforms/IPO/ArgumentPromotion.cpp | 23 +-
lib/Transforms/IPO/CMakeLists.txt | 2 +
.../IPO/DeadArgumentElimination.cpp | 21 +-
lib/Transforms/IPO/FunctionAttrs.cpp | 44 +-
lib/Transforms/IPO/GlobalOpt.cpp | 225 ++--
lib/Transforms/IPO/IPO.cpp | 9 +
lib/Transforms/IPO/Inliner.cpp | 86 +-
lib/Transforms/IPO/PartialInlining.cpp | 10 +-
lib/Transforms/IPO/PruneEH.cpp | 29 +-
lib/Transforms/IPO/StructRetPromotion.cpp | 10 +-
.../InstCombine/InstCombineAndOrXor.cpp | 14 +-
.../InstCombine/InstCombineCalls.cpp | 41 +-
.../InstCombine/InstCombineCasts.cpp | 2 +-
.../InstCombine/InstCombineCompares.cpp | 2 +-
.../InstCombine/InstCombineSelect.cpp | 44 +-
lib/Transforms/Makefile | 2 +-
lib/Transforms/Scalar/CMakeLists.txt | 1 -
lib/Transforms/Scalar/GVN.cpp | 8 +-
lib/Transforms/Scalar/IndVarSimplify.cpp | 187 ++-
lib/Transforms/Scalar/JumpThreading.cpp | 4 +-
lib/Transforms/Scalar/LICM.cpp | 8 +-
lib/Transforms/Scalar/LoopIndexSplit.cpp | 19 +
lib/Transforms/Scalar/LoopStrengthReduce.cpp | 345 +++--
lib/Transforms/Scalar/LoopUnswitch.cpp | 72 +-
lib/Transforms/Scalar/MemCpyOptimizer.cpp | 2 +-
lib/Transforms/Scalar/Reg2Mem.cpp | 7 +-
lib/Transforms/Scalar/SCCP.cpp | 15 +-
lib/Transforms/Scalar/SCCVN.cpp | 716 ----------
.../Scalar/ScalarReplAggregates.cpp | 1183 +++++++++--------
.../Scalar/SimplifyHalfPowrLibCalls.cpp | 3 +-
.../Scalar/TailRecursionElimination.cpp | 30 +-
lib/Transforms/Utils/AddrModeMatcher.cpp | 10 +-
lib/Transforms/Utils/BasicInliner.cpp | 3 +-
lib/Transforms/Utils/BuildLibCalls.cpp | 63 +-
lib/Transforms/Utils/CloneFunction.cpp | 2 +-
lib/Transforms/Utils/CloneModule.cpp | 2 +-
lib/Transforms/Utils/CodeExtractor.cpp | 2 +-
lib/Transforms/Utils/InlineFunction.cpp | 71 +-
lib/Transforms/Utils/LoopUnroll.cpp | 8 +-
lib/Transforms/Utils/LowerInvoke.cpp | 48 +-
lib/Transforms/Utils/SSAUpdater.cpp | 619 ++++++---
lib/Transforms/Utils/ValueMapper.cpp | 6 +-
.../Transforms/Utils/ValueMapper.h | 6 +-
lib/VMCore/AsmWriter.cpp | 20 +-
lib/VMCore/AutoUpgrade.cpp | 120 +-
lib/VMCore/Constants.cpp | 37 +-
lib/VMCore/Core.cpp | 8 +-
lib/VMCore/Dominators.cpp | 8 +-
lib/VMCore/Instructions.cpp | 101 +-
lib/VMCore/LLVMContext.cpp | 38 +
lib/VMCore/LLVMContextImpl.cpp | 1 +
lib/VMCore/LeaksContext.h | 5 +-
lib/VMCore/Makefile | 2 +-
lib/VMCore/Metadata.cpp | 17 +-
lib/VMCore/Pass.cpp | 6 +-
lib/VMCore/PassManager.cpp | 5 +-
lib/VMCore/Type.cpp | 8 +
lib/VMCore/TypeSymbolTable.cpp | 6 +-
lib/VMCore/Verifier.cpp | 105 +-
runtime/Makefile | 2 +-
runtime/libprofile/exported_symbols.lst | 1 -
test/Analysis/BasicAA/cas.ll | 2 +-
test/Analysis/BasicAA/empty.ll | 10 +
.../CallGraph/2008-09-09-DirectCall.ll | 2 +-
.../CallGraph/2008-09-09-UsedByGlobal.ll | 3 +-
.../2008-11-18-LessThanOrEqual.ll | 1 -
.../ScalarEvolution/2008-11-18-Stride2.ll | 3 +
.../ScalarEvolution/2008-12-08-FiniteSGE.ll | 1 -
.../2008-12-11-SMaxOverflow.ll | 6 +-
test/Analysis/ScalarEvolution/sle.ll | 27 +
test/Analysis/ScalarEvolution/undefined.ll | 39 +
.../ScalarEvolution/unsimplified-loop.ll | 29 +
test/Assembler/metadata.ll | 2 +-
test/Bitcode/memcpy.ll | 2 +-
test/Bitcode/sse41_pmulld.ll | 2 +-
test/Bitcode/ssse3_palignr.ll | 1 +
test/Bitcode/ssse3_palignr.ll.bc | Bin 0 -> 1280 bytes
test/CodeGen/ARM/2007-05-07-tailmerge-1.ll | 2 -
test/CodeGen/ARM/2007-05-09-tailmerge-2.ll | 2 -
test/CodeGen/ARM/2007-05-22-tailmerge-3.ll | 4 -
test/CodeGen/ARM/2009-08-31-LSDA-Name.ll | 2 +-
.../ARM/2010-04-07-DbgValueOtherTargets.ll | 33 +
test/CodeGen/ARM/2010-04-09-NeonSelect.ll | 23 +
test/CodeGen/ARM/2010-04-13-v2f64SplitArg.ll | 7 +
test/CodeGen/ARM/2010-04-14-SplitVector.ll | 16 +
.../ARM/2010-04-15-ScavengerDebugValue.ll | 26 +
test/CodeGen/ARM/arguments7.ll | 2 +-
test/CodeGen/ARM/arguments8.ll | 2 +-
test/CodeGen/ARM/bfx.ll | 28 +
test/CodeGen/ARM/globals.ll | 28 +-
test/CodeGen/ARM/hidden-vis-3.ll | 4 +-
test/CodeGen/ARM/ifcvt2.ll | 9 +-
test/CodeGen/ARM/ifcvt5.ll | 6 +-
test/CodeGen/ARM/sbfx.ll | 2 +-
test/CodeGen/ARM/vadd.ll | 4 +-
test/CodeGen/ARM/vld1.ll | 24 +-
test/CodeGen/ARM/vld2.ll | 25 +-
test/CodeGen/ARM/vld3.ll | 25 +-
test/CodeGen/ARM/vld4.ll | 25 +-
test/CodeGen/ARM/vldlane.ll | 78 +-
test/CodeGen/ARM/vmla.ll | 8 +-
test/CodeGen/ARM/vmls.ll | 8 +-
test/CodeGen/ARM/vmul.ll | 4 +-
test/CodeGen/ARM/vneg.ll | 4 +-
test/CodeGen/ARM/vst1.ll | 24 +-
test/CodeGen/ARM/vst2.ll | 21 +-
test/CodeGen/ARM/vst3.ll | 21 +-
test/CodeGen/ARM/vst4.ll | 21 +-
test/CodeGen/ARM/vstlane.ll | 54 +-
test/CodeGen/ARM/vsub.ll | 4 +-
test/CodeGen/ARM/vtrn.ll | 4 +-
test/CodeGen/ARM/vuzp.ll | 2 +-
test/CodeGen/ARM/vzip.ll | 2 +-
.../Alpha/2010-04-07-DbgValueOtherTargets.ll | 33 +
test/CodeGen/Blackfin/jumptable.ll | 4 +-
.../2010-04-07-DbgValueOtherTargets.ll | 33 +
test/CodeGen/CellSPU/bss.ll | 10 +-
test/CodeGen/CellSPU/crash.ll | 8 +
test/CodeGen/Generic/2007-05-03-EHTypeInfo.ll | 2 +-
test/CodeGen/Generic/2007-12-17-InvokeAsm.ll | 2 +-
.../Generic/2007-12-31-UnusedSelector.ll | 2 +-
test/CodeGen/Generic/crash.ll | 8 +
.../MBlaze/2010-04-07-DbgValueOtherTargets.ll | 33 +
test/CodeGen/MSP430/2009-05-17-Rot.ll | 2 +-
test/CodeGen/MSP430/2009-05-17-Shift.ll | 2 +-
.../MSP430/2010-04-07-DbgValueOtherTargets.ll | 33 +
test/CodeGen/MSP430/2010-05-01-CombinerAnd.ll | 27 +
test/CodeGen/MSP430/indirectbr.ll | 41 +
test/CodeGen/MSP430/indirectbr2.ll | 29 +
test/CodeGen/Mips/2009-11-16-CstPoolLoad.ll | 4 +-
.../Mips/2010-04-07-DbgValueOtherTargets.ll | 33 +
test/CodeGen/PIC16/2009-11-20-NewNode.ll | 1 -
.../PowerPC/2007-11-16-landingpad-split.ll | 2 +-
.../PowerPC/2008-01-25-EmptyFunction.ll | 2 +-
.../CodeGen/PowerPC/2010-02-04-EmptyGlobal.ll | 11 +-
.../2010-04-07-DbgValueOtherTargets.ll | 33 +
test/CodeGen/PowerPC/2010-05-03-retaddr1.ll | 24 +
test/CodeGen/PowerPC/indirectbr.ll | 4 +-
test/CodeGen/PowerPC/rlwimi-keep-rsh.ll | 2 +-
.../SPARC/2010-04-07-DbgValueOtherTargets.ll | 33 +
test/CodeGen/SystemZ/00-RetVoid.ll | 2 +-
test/CodeGen/SystemZ/01-RetArg.ll | 2 +-
test/CodeGen/SystemZ/02-RetAdd.ll | 2 +-
test/CodeGen/SystemZ/02-RetAddImm.ll | 2 +-
test/CodeGen/SystemZ/02-RetAnd.ll | 2 +-
test/CodeGen/SystemZ/02-RetNeg.ll | 2 +-
test/CodeGen/SystemZ/02-RetOr.ll | 2 +-
test/CodeGen/SystemZ/02-RetSub.ll | 2 +-
test/CodeGen/SystemZ/02-RetSubImm.ll | 2 +-
test/CodeGen/SystemZ/02-RetXor.ll | 2 +-
test/CodeGen/SystemZ/02-RetXorImm.ll | 2 +-
.../SystemZ/2009-07-11-FloatBitConvert.ll | 2 +-
.../2010-04-07-DbgValueOtherTargets.ll | 33 +
.../Thumb/2010-04-07-DbgValueOtherTargets.ll | 33 +
test/CodeGen/Thumb/machine-licm.ll | 8 +-
.../Thumb2/2009-10-15-ITBlockBranch.ll | 11 +-
test/CodeGen/Thumb2/2010-04-15-DynAllocBug.ll | 23 +
.../CodeGen/Thumb2/2010-04-26-CopyRegCrash.ll | 73 +
test/CodeGen/Thumb2/bfx.ll | 28 +
test/CodeGen/Thumb2/cross-rc-coalescing-2.ll | 2 +-
test/CodeGen/Thumb2/load-global.ll | 2 +-
test/CodeGen/Thumb2/lsr-deficiency.ll | 2 +-
test/CodeGen/Thumb2/machine-licm.ll | 14 +-
test/CodeGen/Thumb2/thumb2-branch.ll | 24 +-
test/CodeGen/Thumb2/thumb2-ifcvt3.ll | 2 +-
test/CodeGen/X86/2007-01-08-InstrSched.ll | 8 +-
test/CodeGen/X86/2007-05-05-Personality.ll | 2 +-
test/CodeGen/X86/2007-05-07-InvokeSRet.ll | 2 +-
test/CodeGen/X86/2007-06-04-tailmerge4.ll | 2 +-
test/CodeGen/X86/2007-09-17-ObjcFrameEH.ll | 2 +-
test/CodeGen/X86/2008-01-25-EmptyFunction.ll | 2 +-
test/CodeGen/X86/2008-07-11-SpillerBug.ll | 1 +
test/CodeGen/X86/2008-10-16-SpillerBug.ll | 7 +-
.../CodeGen/X86/2008-12-19-EarlyClobberBug.ll | 2 +-
test/CodeGen/X86/2009-04-21-NoReloadImpDef.ll | 2 +-
.../CodeGen/X86/2009-05-28-DAGCombineCrash.ll | 33 +-
test/CodeGen/X86/2009-11-16-MachineLICM.ll | 2 +-
test/CodeGen/X86/2009-11-16-UnfoldMemOpBug.ll | 2 +-
test/CodeGen/X86/2010-01-07-UAMemFeature.ll | 2 +-
test/CodeGen/X86/2010-01-08-Atomic64Bug.ll | 2 +-
.../X86/2010-04-06-SSEDomainFixCrash.ll | 64 +
.../X86/2010-04-07-DbgValueOtherTargets.ll | 34 +
test/CodeGen/X86/2010-04-08-CoalescerBug.ll | 26 +
.../X86/2010-04-13-AnalyzeBranchCrash.ll | 42 +
test/CodeGen/X86/2010-04-21-CoalescerBug.ll | 15 +
test/CodeGen/X86/2010-04-23-mmx-movdq2q.ll | 45 +
test/CodeGen/X86/2010-04-29-CoalescerCrash.ll | 142 ++
.../X86/2010-04-30-LocalAlloc-LandingPad.ll | 143 ++
.../X86/2010-05-03-CoalescerSubRegClobber.ll | 33 +
test/CodeGen/X86/MachineSink-CritEdge.ll | 58 +
test/CodeGen/X86/abi-isel.ll | 976 +++++++-------
test/CodeGen/X86/alignment.ll | 43 +
test/CodeGen/X86/atomic_add.ll | 2 +-
test/CodeGen/X86/avoid-loop-align.ll | 4 +-
test/CodeGen/X86/brcond.ll | 45 +-
test/CodeGen/X86/const-select.ll | 2 +-
test/CodeGen/X86/constant-pool-sharing.ll | 2 +-
.../X86/convert-2-addr-3-addr-inc64.ll | 2 +-
test/CodeGen/X86/crash.ll | 38 +
test/CodeGen/X86/dbg-byval-parameter.ll | 45 +
test/CodeGen/X86/dllexport.ll | 2 +-
test/CodeGen/X86/fast-isel-constpool.ll | 2 +-
test/CodeGen/X86/fast-isel-phys.ll | 11 -
test/CodeGen/X86/fast-isel-trunc.ll | 12 -
test/CodeGen/X86/fast-isel.ll | 21 +
test/CodeGen/X86/field-extract-use-trunc.ll | 12 +-
test/CodeGen/X86/fold-pcmpeqd-0.ll | 2 +-
test/CodeGen/X86/fp-elim.ll | 44 +
test/CodeGen/X86/global-sections.ll | 24 +
test/CodeGen/X86/h-registers-0.ll | 42 +-
test/CodeGen/X86/ins_subreg_coalesce-1.ll | 10 +-
test/CodeGen/X86/loop-blocks.ll | 44 +-
test/CodeGen/X86/loop-hoist.ll | 2 +-
test/CodeGen/X86/loop-strength-reduce8.ll | 2 +-
test/CodeGen/X86/lsr-delayed-fold.ll | 51 +
test/CodeGen/X86/lsr-reuse.ll | 6 +-
test/CodeGen/X86/memcpy-2.ll | 63 +-
test/CodeGen/X86/multiple-loop-post-inc.ll | 304 +++++
test/CodeGen/X86/optimize-max-3.ll | 32 +
test/CodeGen/X86/or-address.ll | 90 ++
test/CodeGen/X86/pic.ll | 96 +-
test/CodeGen/X86/pic_jumptable.ll | 9 +-
test/CodeGen/X86/postra-licm.ll | 185 +++
test/CodeGen/X86/promote-i16.ll | 11 +
test/CodeGen/X86/rot16.ll | 22 +-
test/CodeGen/X86/rot32.ll | 22 +-
test/CodeGen/X86/shl_elim.ll | 2 +-
test/CodeGen/X86/sibcall-2.ll | 52 +
test/CodeGen/X86/sibcall.ll | 22 +-
test/CodeGen/X86/sink-hoist.ll | 6 +-
test/CodeGen/X86/sse41.ll | 4 +-
test/CodeGen/X86/stack-align.ll | 2 +-
test/CodeGen/X86/stack-color-with-reg.ll | 4 +-
test/CodeGen/X86/store-narrow.ll | 127 ++
test/CodeGen/X86/tail-opts.ll | 53 +-
test/CodeGen/X86/tls11.ll | 4 +-
test/CodeGen/X86/unaligned-load.ll | 9 +-
test/CodeGen/X86/vec_shuffle-36.ll | 2 +-
test/CodeGen/X86/vec_ss_load_fold.ll | 12 +-
test/CodeGen/X86/widen_load-2.ll | 6 +-
test/CodeGen/X86/xor.ll | 8 +-
.../XCore/2010-04-07-DbgValueOtherTargets.ll | 33 +
test/CodeGen/XCore/constants.ll | 4 +-
test/DebugInfo/2009-10-16-Phi.ll | 2 +-
test/DebugInfo/2010-01-18-DbgValue.ll | 74 +-
test/DebugInfo/2010-04-06-NestedFnDbgInfo.ll | 89 ++
test/DebugInfo/2010-04-13-PubType.ll | 47 +
test/DebugInfo/2010-04-19-FramePtr.ll | 30 +
...U-HighLow.ll => 2010-04-25-CU-entry_pc.ll} | 2 +-
test/DebugInfo/2010-05-03-DisableFramePtr.ll | 34 +
test/DebugInfo/2010-05-03-OriginDIE.ll | 86 ++
test/FrontendC++/2009-07-16-Using.cpp | 2 +-
test/FrontendC++/2009-10-27-crash.cpp | 2 +-
.../2010-04-30-OptimizedMethod-Dbg.cpp | 17 +
test/FrontendC/2007-05-16-EmptyStruct.c | 2 +-
test/FrontendC/2008-11-02-WeakAlias.c | 2 +-
test/FrontendC/2009-01-20-k8.c | 2 +-
test/FrontendC/2009-01-21-InvalidIterator.c | 2 +-
test/FrontendC/2009-04-22-UnknownSize.c | 2 +-
test/FrontendC/2009-06-14-HighlyAligned.c | 2 +-
test/FrontendC/2009-12-07-BitFieldAlignment.c | 4 +-
test/FrontendC/crash-invalid-array.c | 17 +
test/FrontendC/cstring-align.c | 5 +-
test/FrontendC/inline-asm-function.c | 6 +
test/MC/AsmParser/X86/x86_32-encoding.s | 86 ++
test/MC/AsmParser/X86/x86_operands.s | 4 +-
test/MC/AsmParser/exprs.s | 11 +
test/MC/Disassembler/arm-tests.txt | 16 +-
test/MC/Disassembler/dg.exp | 4 +-
test/MC/Disassembler/neon-tests.txt | 8 +-
test/MC/Disassembler/simple-tests.txt | 3 +
test/MC/Disassembler/thumb-tests.txt | 17 +-
test/Other/lint.ll | 84 ++
test/Transforms/ArgumentPromotion/crash.ll | 38 +
.../DeadArgElim/2009-03-17-MRE-Invoke.ll | 2 +-
.../DeadArgElim/2010-04-30-DbgInfo.ll | 68 +
test/Transforms/DeadArgElim/deadexternal.ll | 13 +
test/Transforms/DeadStoreElimination/crash.ll | 2 +-
.../GVN/2010-03-31-RedundantPHIs.ll | 46 +
test/Transforms/GVN/invariant-simple.ll | 2 +-
test/Transforms/GVN/lifetime-simple.ll | 4 +-
test/Transforms/GlobalOpt/crash.ll | 28 +-
test/Transforms/GlobalOpt/malloc-promote-2.ll | 31 +-
test/Transforms/GlobalOpt/malloc-promote-3.ll | 30 -
test/Transforms/GlobalOpt/metadata.ll | 19 +
.../IndVarSimplify/casted-argument.ll | 2 +-
test/Transforms/IndVarSimplify/crash.ll | 2 +-
.../IndVarSimplify/eliminate-comparison.ll | 108 ++
.../IndVarSimplify/eliminate-max.ll | 52 +
.../IndVarSimplify/eliminate-rem.ll | 121 ++
test/Transforms/IndVarSimplify/udiv.ll | 162 +++
.../Inline/2009-01-12-RecursiveInline.ll | 92 --
test/Transforms/Inline/crash.ll | 31 +
test/Transforms/Inline/crash2.ll | 29 +
test/Transforms/Inline/devirtualize-2.ll | 44 +
test/Transforms/Inline/devirtualize-3.ll | 79 ++
test/Transforms/Inline/devirtualize.ll | 182 +++
.../Transforms/Inline/externally_available.ll | 2 +-
.../Transforms/Inline/gvn-inline-iteration.ll | 23 +
test/Transforms/Inline/indirect_resolve.ll | 16 -
.../Inline/noinline-recursive-fn.ll | 73 +
.../InstCombine/2007-12-28-IcmpSub2.ll | 2 +-
test/Transforms/InstCombine/invariant.ll | 6 +-
test/Transforms/InstCombine/objsize.ll | 10 +-
test/Transforms/InstCombine/odr-linkage.ll | 2 +-
test/Transforms/InstCombine/strcpy_chk.ll | 1 +
test/Transforms/InstCombine/vec_shuffle.ll | 2 +-
test/Transforms/JumpThreading/crash.ll | 17 +
.../LoopIndexSplit/2008-02-08-Crash.ll | 2 +-
test/Transforms/LoopIndexSplit/PR4174-2.ll | 38 +
test/Transforms/LoopIndexSplit/PR4174.ll | 23 +
.../LoopStrengthReduce/insert-positions.ll | 69 +
test/Transforms/LoopStrengthReduce/pr2537.ll | 2 +-
.../quadradic-exit-value.ll | 2 +-
test/Transforms/LoopStrengthReduce/uglygep.ll | 67 +
test/Transforms/LoopUnswitch/crash.ll | 19 +
.../Transforms/PruneEH/2008-09-05-CGUpdate.ll | 2 +-
test/Transforms/SCCP/ipsccp-basic.ll | 2 +-
test/Transforms/SCCP/undef-resolve.ll | 106 ++
test/Transforms/ScalarRepl/memcpy-align.ll | 32 +
test/Transforms/TailCallElim/inf-recursion.ll | 26 +-
tools/CMakeLists.txt | 1 +
tools/Makefile | 14 +-
tools/bugpoint/BugDriver.cpp | 87 +-
tools/bugpoint/BugDriver.h | 50 +-
tools/bugpoint/CMakeLists.txt | 1 -
tools/bugpoint/CrashDebugger.cpp | 63 +-
tools/bugpoint/ExecutionDriver.cpp | 81 +-
tools/bugpoint/FindBugs.cpp | 37 +-
tools/bugpoint/ListReducer.h | 30 +-
tools/bugpoint/Makefile | 1 -
tools/bugpoint/Miscompilation.cpp | 281 ++--
tools/bugpoint/ToolRunner.cpp | 92 +-
tools/bugpoint/ToolRunner.h | 64 +-
tools/bugpoint/bugpoint.cpp | 24 +-
tools/edis/CMakeLists.txt | 25 +
tools/edis/EDDisassembler.cpp | 129 +-
tools/edis/EDDisassembler.h | 20 +-
tools/edis/EDInfo.td | 1 +
tools/edis/EDInst.cpp | 12 +-
tools/edis/EDInst.h | 8 +-
tools/edis/EDMain.cpp | 29 +-
tools/edis/EDOperand.cpp | 248 +++-
tools/edis/EDToken.cpp | 18 +-
tools/edis/EnhancedDisassembly.exports | 72 +-
tools/edis/Makefile | 13 +-
tools/gold/Makefile | 2 +
tools/gold/gold-plugin.cpp | 30 +-
tools/gold/gold.exports | 1 +
tools/llc/llc.cpp | 3 -
tools/lli/lli.cpp | 2 +-
tools/llvm-ld/llvm-ld.cpp | 2 +-
tools/llvm-mc/CMakeLists.txt | 1 +
tools/llvm-mc/Disassembler.cpp | 287 +++-
tools/llvm-mc/Disassembler.h | 3 +
tools/llvm-mc/Makefile | 3 +
tools/llvm-mc/llvm-mc.cpp | 16 +-
tools/llvmc/plugins/Base/Base.td.in | 5 +-
tools/lto/LTOCodeGenerator.cpp | 18 +-
tools/lto/Makefile | 3 +-
tools/lto/lto.exports | 47 +-
tools/opt/AnalysisWrappers.cpp | 1 -
tools/opt/GraphPrinters.cpp | 7 +-
tools/opt/opt.cpp | 9 +-
unittests/ADT/BitVectorTest.cpp | 18 +-
unittests/ADT/SmallBitVectorTest.cpp | 14 +-
unittests/ADT/ValueMapTest.cpp | 8 +-
.../JIT/JITMemoryManagerTest.cpp | 8 +-
unittests/VMCore/PassManagerTest.cpp | 2 +-
utils/TableGen/ARMDecoderEmitter.cpp | 68 +-
utils/TableGen/AsmMatcherEmitter.cpp | 12 +-
utils/TableGen/CodeEmitterGen.cpp | 11 +-
utils/TableGen/CodeGenDAGPatterns.cpp | 30 +-
utils/TableGen/CodeGenDAGPatterns.h | 14 +-
utils/TableGen/CodeGenTarget.cpp | 5 +-
utils/TableGen/EDEmitter.cpp | 626 ++++++---
utils/TableGen/Record.h | 5 +
utils/TableGen/SubtargetEmitter.cpp | 44 +-
utils/TableGen/SubtargetEmitter.h | 3 +-
utils/TableGen/X86DisassemblerTables.cpp | 4 +-
utils/TableGen/X86RecognizableInstr.cpp | 2 +-
utils/buildit/GNUmakefile | 6 +-
utils/buildit/build_llvm | 40 +-
utils/fpcmp/fpcmp.cpp | 4 +-
.../LLVM.OutOfTree/src/test/Foo/pct-S.ll | 2 +-
utils/lit/lit/TestFormats.py | 12 +-
utils/llvm.grm | 2 +-
utils/unittest/googletest/gtest-filepath.cc | 4 +-
.../include/gtest/internal/gtest-linked_ptr.h | 1 +
.../include/gtest/internal/gtest-port.h | 3 +-
885 files changed, 27703 insertions(+), 13906 deletions(-)
create mode 100644 include/llvm/ADT/Optional.h
create mode 100644 include/llvm/Analysis/Lint.h
create mode 100644 include/llvm/Analysis/ScalarEvolutionNormalization.h
create mode 100644 include/llvm/CodeGen/Analysis.h
create mode 100644 include/llvm/CodeGen/ISDOpcodes.h
create mode 100644 include/llvm/MC/EDInstInfo.h
create mode 100644 include/llvm/Target/TargetSelectionDAGInfo.h
create mode 100644 lib/Analysis/Lint.cpp
create mode 100644 lib/Analysis/ScalarEvolutionNormalization.cpp
create mode 100644 lib/CodeGen/Analysis.cpp
create mode 100644 lib/CodeGen/RegAllocFast.cpp
create mode 100644 lib/CodeGen/SelectionDAG/TargetSelectionDAGInfo.cpp
create mode 100644 lib/Target/ARM/ARMScheduleA8.td
create mode 100644 lib/Target/ARM/ARMScheduleA9.td
delete mode 100644 lib/Target/ARM/ARMScheduleV7.td
create mode 100644 lib/Target/ARM/ARMSelectionDAGInfo.cpp
create mode 100644 lib/Target/ARM/ARMSelectionDAGInfo.h
create mode 100644 lib/Target/ARM/AsmParser/ARMAsmLexer.cpp
create mode 100644 lib/Target/ARM/Disassembler/Makefile
create mode 100644 lib/Target/Alpha/AlphaSelectionDAGInfo.cpp
create mode 100644 lib/Target/Alpha/AlphaSelectionDAGInfo.h
create mode 100644 lib/Target/Blackfin/BlackfinSelectionDAGInfo.cpp
create mode 100644 lib/Target/Blackfin/BlackfinSelectionDAGInfo.h
create mode 100644 lib/Target/CellSPU/SPUSelectionDAGInfo.cpp
create mode 100644 lib/Target/CellSPU/SPUSelectionDAGInfo.h
create mode 100644 lib/Target/MBlaze/MBlazeSelectionDAGInfo.cpp
create mode 100644 lib/Target/MBlaze/MBlazeSelectionDAGInfo.h
create mode 100644 lib/Target/MSP430/MSP430SelectionDAGInfo.cpp
create mode 100644 lib/Target/MSP430/MSP430SelectionDAGInfo.h
create mode 100644 lib/Target/Mips/MipsSelectionDAGInfo.cpp
create mode 100644 lib/Target/Mips/MipsSelectionDAGInfo.h
create mode 100644 lib/Target/PIC16/PIC16MachineFunctionInfo.h
create mode 100644 lib/Target/PIC16/PIC16SelectionDAGInfo.cpp
create mode 100644 lib/Target/PIC16/PIC16SelectionDAGInfo.h
create mode 100644 lib/Target/PowerPC/PPCSelectionDAGInfo.cpp
create mode 100644 lib/Target/PowerPC/PPCSelectionDAGInfo.h
create mode 100644 lib/Target/Sparc/SparcSelectionDAGInfo.cpp
create mode 100644 lib/Target/Sparc/SparcSelectionDAGInfo.h
create mode 100644 lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
create mode 100644 lib/Target/SystemZ/SystemZSelectionDAGInfo.h
create mode 100644 lib/Target/X86/X86SelectionDAGInfo.cpp
create mode 100644 lib/Target/X86/X86SelectionDAGInfo.h
delete mode 100644 lib/Target/XCore/MCSectionXCore.cpp
delete mode 100644 lib/Target/XCore/MCSectionXCore.h
create mode 100644 lib/Target/XCore/XCoreSelectionDAGInfo.cpp
create mode 100644 lib/Target/XCore/XCoreSelectionDAGInfo.h
delete mode 100644 lib/Transforms/Scalar/SCCVN.cpp
rename {include/llvm => lib}/Transforms/Utils/ValueMapper.h (80%)
create mode 100644 test/Analysis/BasicAA/empty.ll
create mode 100644 test/Analysis/ScalarEvolution/sle.ll
create mode 100644 test/Analysis/ScalarEvolution/undefined.ll
create mode 100644 test/Analysis/ScalarEvolution/unsimplified-loop.ll
create mode 100644 test/Bitcode/ssse3_palignr.ll
create mode 100644 test/Bitcode/ssse3_palignr.ll.bc
create mode 100644 test/CodeGen/ARM/2010-04-07-DbgValueOtherTargets.ll
create mode 100644 test/CodeGen/ARM/2010-04-09-NeonSelect.ll
create mode 100644 test/CodeGen/ARM/2010-04-13-v2f64SplitArg.ll
create mode 100644 test/CodeGen/ARM/2010-04-14-SplitVector.ll
create mode 100644 test/CodeGen/ARM/2010-04-15-ScavengerDebugValue.ll
create mode 100644 test/CodeGen/ARM/bfx.ll
create mode 100644 test/CodeGen/Alpha/2010-04-07-DbgValueOtherTargets.ll
create mode 100644 test/CodeGen/CellSPU/2010-04-07-DbgValueOtherTargets.ll
create mode 100644 test/CodeGen/CellSPU/crash.ll
create mode 100644 test/CodeGen/Generic/crash.ll
create mode 100644 test/CodeGen/MBlaze/2010-04-07-DbgValueOtherTargets.ll
create mode 100644 test/CodeGen/MSP430/2010-04-07-DbgValueOtherTargets.ll
create mode 100644 test/CodeGen/MSP430/2010-05-01-CombinerAnd.ll
create mode 100644 test/CodeGen/MSP430/indirectbr.ll
create mode 100644 test/CodeGen/MSP430/indirectbr2.ll
create mode 100644 test/CodeGen/Mips/2010-04-07-DbgValueOtherTargets.ll
create mode 100644 test/CodeGen/PowerPC/2010-04-07-DbgValueOtherTargets.ll
create mode 100644 test/CodeGen/PowerPC/2010-05-03-retaddr1.ll
create mode 100644 test/CodeGen/SPARC/2010-04-07-DbgValueOtherTargets.ll
create mode 100644 test/CodeGen/SystemZ/2010-04-07-DbgValueOtherTargets.ll
create mode 100644 test/CodeGen/Thumb/2010-04-07-DbgValueOtherTargets.ll
create mode 100644 test/CodeGen/Thumb2/2010-04-15-DynAllocBug.ll
create mode 100644 test/CodeGen/Thumb2/2010-04-26-CopyRegCrash.ll
create mode 100644 test/CodeGen/Thumb2/bfx.ll
create mode 100644 test/CodeGen/X86/2010-04-06-SSEDomainFixCrash.ll
create mode 100644 test/CodeGen/X86/2010-04-07-DbgValueOtherTargets.ll
create mode 100644 test/CodeGen/X86/2010-04-08-CoalescerBug.ll
create mode 100644 test/CodeGen/X86/2010-04-13-AnalyzeBranchCrash.ll
create mode 100644 test/CodeGen/X86/2010-04-21-CoalescerBug.ll
create mode 100644 test/CodeGen/X86/2010-04-23-mmx-movdq2q.ll
create mode 100644 test/CodeGen/X86/2010-04-29-CoalescerCrash.ll
create mode 100644 test/CodeGen/X86/2010-04-30-LocalAlloc-LandingPad.ll
create mode 100644 test/CodeGen/X86/2010-05-03-CoalescerSubRegClobber.ll
create mode 100644 test/CodeGen/X86/MachineSink-CritEdge.ll
create mode 100644 test/CodeGen/X86/alignment.ll
create mode 100644 test/CodeGen/X86/dbg-byval-parameter.ll
delete mode 100644 test/CodeGen/X86/fast-isel-phys.ll
delete mode 100644 test/CodeGen/X86/fast-isel-trunc.ll
create mode 100644 test/CodeGen/X86/fp-elim.ll
create mode 100644 test/CodeGen/X86/lsr-delayed-fold.ll
create mode 100644 test/CodeGen/X86/multiple-loop-post-inc.ll
create mode 100644 test/CodeGen/X86/optimize-max-3.ll
create mode 100644 test/CodeGen/X86/or-address.ll
create mode 100644 test/CodeGen/X86/postra-licm.ll
create mode 100644 test/CodeGen/X86/promote-i16.ll
create mode 100644 test/CodeGen/X86/sibcall-2.ll
create mode 100644 test/CodeGen/X86/store-narrow.ll
create mode 100644 test/CodeGen/XCore/2010-04-07-DbgValueOtherTargets.ll
create mode 100644 test/DebugInfo/2010-04-06-NestedFnDbgInfo.ll
create mode 100644 test/DebugInfo/2010-04-13-PubType.ll
create mode 100644 test/DebugInfo/2010-04-19-FramePtr.ll
rename test/DebugInfo/{2010-03-22-CU-HighLow.ll => 2010-04-25-CU-entry_pc.ll} (94%)
create mode 100644 test/DebugInfo/2010-05-03-DisableFramePtr.ll
create mode 100644 test/DebugInfo/2010-05-03-OriginDIE.ll
create mode 100644 test/FrontendC++/2010-04-30-OptimizedMethod-Dbg.cpp
create mode 100644 test/FrontendC/crash-invalid-array.c
create mode 100644 test/FrontendC/inline-asm-function.c
create mode 100644 test/Other/lint.ll
create mode 100644 test/Transforms/ArgumentPromotion/crash.ll
create mode 100644 test/Transforms/DeadArgElim/2010-04-30-DbgInfo.ll
create mode 100644 test/Transforms/DeadArgElim/deadexternal.ll
create mode 100644 test/Transforms/GVN/2010-03-31-RedundantPHIs.ll
delete mode 100644 test/Transforms/GlobalOpt/malloc-promote-3.ll
create mode 100644 test/Transforms/GlobalOpt/metadata.ll
create mode 100644 test/Transforms/IndVarSimplify/eliminate-comparison.ll
create mode 100644 test/Transforms/IndVarSimplify/eliminate-max.ll
create mode 100644 test/Transforms/IndVarSimplify/eliminate-rem.ll
create mode 100644 test/Transforms/IndVarSimplify/udiv.ll
delete mode 100644 test/Transforms/Inline/2009-01-12-RecursiveInline.ll
create mode 100644 test/Transforms/Inline/crash2.ll
create mode 100644 test/Transforms/Inline/devirtualize-2.ll
create mode 100644 test/Transforms/Inline/devirtualize-3.ll
create mode 100644 test/Transforms/Inline/devirtualize.ll
create mode 100644 test/Transforms/Inline/gvn-inline-iteration.ll
delete mode 100644 test/Transforms/Inline/indirect_resolve.ll
create mode 100644 test/Transforms/Inline/noinline-recursive-fn.ll
create mode 100644 test/Transforms/LoopIndexSplit/PR4174-2.ll
create mode 100644 test/Transforms/LoopIndexSplit/PR4174.ll
create mode 100644 test/Transforms/LoopStrengthReduce/insert-positions.ll
create mode 100644 test/Transforms/LoopStrengthReduce/uglygep.ll
create mode 100644 test/Transforms/SCCP/undef-resolve.ll
create mode 100644 test/Transforms/ScalarRepl/memcpy-align.ll
create mode 100644 tools/edis/CMakeLists.txt
create mode 100644 tools/edis/EDInfo.td
create mode 100644 tools/gold/gold.exports
diff --git a/Makefile b/Makefile
index efbae8ddeda..670c1743c96 100644
--- a/Makefile
+++ b/Makefile
@@ -69,6 +69,14 @@ ifeq ($(MAKECMDGOALS),install-clang)
NO_INSTALL = 1
endif
+ifeq ($(MAKECMDGOALS),install-clang-c)
+ DIRS := tools/clang/tools/driver tools/clang/lib/Headers \
+ tools/clang/tools/libclang tools/clang/tools/c-index-test \
+ tools/clang/include/clang-c
+ OPTIONAL_DIRS :=
+ NO_INSTALL = 1
+endif
+
ifeq ($(MAKECMDGOALS),clang-only)
DIRS := $(filter-out tools runtime docs unittests, $(DIRS)) tools/clang
OPTIONAL_DIRS :=
@@ -110,6 +118,8 @@ cross-compile-build-tools:
ENABLE_COVERAGE=$(ENABLE_COVERAGE) \
DISABLE_ASSERTIONS=$(DISABLE_ASSERTIONS) \
ENABLE_EXPENSIVE_CHECKS=$(ENABLE_EXPENSIVE_CHECKS) \
+ CFLAGS= \
+ CXXFLAGS= \
) || exit 1;
endif
@@ -143,6 +153,7 @@ clang-only: all
tools-only: all
libs-only: all
install-clang: install
+install-clang-c: install
install-libs: install
#------------------------------------------------------------------------
diff --git a/Makefile.config.in b/Makefile.config.in
index 1b61f0908a8..a3384e7af32 100644
--- a/Makefile.config.in
+++ b/Makefile.config.in
@@ -337,3 +337,7 @@ ENABLE_LLVMC_DYNAMIC_PLUGINS = 1
NO_MISSING_FIELD_INITIALIZERS = @NO_MISSING_FIELD_INITIALIZERS@
# -Wno-variadic-macros
NO_VARIADIC_MACROS = @NO_VARIADIC_MACROS@
+
+# Flags supported by the linker.
+# bfd ld / gold -retain-symbols-file file
+HAVE_LINK_RETAIN_SYMBOLS_FILE = @HAVE_LINK_RETAIN_SYMBOLS_FILE@
diff --git a/Makefile.rules b/Makefile.rules
index 9a6280bf7f2..d70215e94aa 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -388,7 +388,6 @@ endif
# If REQUIRES_RTTI=1 is specified then don't disable run-time type id.
ifneq ($(REQUIRES_RTTI), 1)
CXX.Flags += -fno-rtti
- CXXFLAGS += -fno-rtti
endif
ifdef ENABLE_COVERAGE
@@ -561,7 +560,7 @@ ifeq ($(HOST_OS),Darwin)
# Get "4" out of 10.4 for later pieces in the makefile.
DARWIN_MAJVERS := $(shell echo $(DARWIN_VERSION)| sed -E 's/10.([0-9]).*/\1/')
- SharedLinkOptions=-Wl,-flat_namespace -Wl,-undefined -Wl,suppress \
+ SharedLinkOptions=-Wl,-flat_namespace -Wl,-undefined,suppress \
-dynamiclib
ifneq ($(ARCH),ARM)
SharedLinkOptions += -mmacosx-version-min=$(DARWIN_VERSION)
@@ -581,13 +580,6 @@ ifeq ($(TARGET_OS),Darwin)
endif
endif
-# Adjust LD.Flags depending on the kind of library that is to be built. Note
-# that if LOADABLE_MODULE is specified then the resulting shared library can
-# be opened with dlopen.
-ifdef LOADABLE_MODULE
- LD.Flags += -module
-endif
-
ifdef SHARED_LIBRARY
ifneq ($(DARWIN_MAJVERS),4)
LD.Flags += $(RPATH) -Wl,$(LibDir)
@@ -640,6 +632,8 @@ CompileCommonOpts += -pedantic -Wno-long-long
endif
CompileCommonOpts += -Wall -W -Wno-unused-parameter -Wwrite-strings \
$(EXTRA_OPTIONS)
+# Enable cast-qual for C++; the workaround is to use const_cast.
+CXX.Flags += -Wcast-qual
ifeq ($(HOST_OS),HP-UX)
CompileCommonOpts := -D_REENTRANT -D_HPUX_SOURCE
@@ -970,6 +964,36 @@ endif
endif
endif
+# Set up the library exports file.
+ifdef EXPORTED_SYMBOL_FILE
+
+# First, set up the native export file, which may differ from the source
+# export file.
+
+ifeq ($(HOST_OS),Darwin)
+# Darwin convention prefixes symbols with underscores.
+NativeExportsFile := $(ObjDir)/$(notdir $(EXPORTED_SYMBOL_FILE)).sed
+$(NativeExportsFile): $(EXPORTED_SYMBOL_FILE) $(ObjDir)/.dir
+ $(Verb) sed -e 's/[[:<:]]/_/' < $< > $@
+clean-local::
+ -$(Verb) $(RM) -f $(NativeExportsFile)
+else
+NativeExportsFile := $(EXPORTED_SYMBOL_FILE)
+endif
+
+# Now add the linker command-line options to use the native export file.
+
+ifeq ($(HOST_OS),Darwin)
+LLVMLibsOptions += -Wl,-exported_symbols_list,$(NativeExportsFile)
+endif
+
+# gold, bfd ld, etc.
+ifeq ($(HAVE_LINK_RETAIN_SYMBOLS_FILE),1)
+LLVMLibsOptions += -Wl,-retain-symbols-file,$(NativeExportsFile)
+endif
+
+endif
+
###############################################################################
# Library Build Rules: Four ways to build a library
###############################################################################
@@ -1060,6 +1084,10 @@ ifdef SHARED_LIBRARY
all-local:: $(LibName.SO)
+ifdef EXPORTED_SYMBOL_FILE
+$(LibName.SO): $(NativeExportsFile)
+endif
+
ifdef LINK_LIBS_IN_SHARED
ifdef LOADABLE_MODULE
SharedLibKindMessage := "Loadable Module"
@@ -1207,6 +1235,12 @@ install-local::
uninstall-local::
$(Echo) Uninstall circumvented with NO_INSTALL
else
+ifdef NO_INSTALL_ARCHIVES
+install-local::
+ $(Echo) Install circumvented with NO_INSTALL
+uninstall-local::
+ $(Echo) Uninstall circumvented with NO_INSTALL
+else
DestArchiveLib := $(DESTDIR)$(PROJ_libdir)/lib$(LIBRARYNAME).a
install-local:: $(DestArchiveLib)
@@ -1221,6 +1255,7 @@ uninstall-local::
-$(Verb) $(RM) -f $(DestArchiveLib)
endif
endif
+endif
# endif LIBRARYNAME
endif
@@ -1262,7 +1297,7 @@ ifeq ($(HOST_OS),Darwin)
# Tiger tools don't support this.
ifneq ($(DARWIN_MAJVERS),4)
-LD.Flags += -Wl,-exported_symbol -Wl,_main
+LD.Flags += -Wl,-exported_symbol,_main
endif
endif
@@ -1331,7 +1366,7 @@ DestToolAlias = $(DESTDIR)$(PROJ_bindir)/$(TOOLALIAS)$(EXEEXT)
install-local:: $(DestToolAlias)
-$(DestToolAlias): $(DestTool) $(PROJ_bindir)
+$(DestToolAlias): $(DestTool)
$(Echo) Installing $(BuildMode) $(DestToolAlias)
$(Verb) $(RM) -f $(DestToolAlias)
$(Verb) $(AliasTool) $(TOOLEXENAME) $(DestToolAlias)
diff --git a/autoconf/configure.ac b/autoconf/configure.ac
index 04c0886ab78..3b4019658cc 100644
--- a/autoconf/configure.ac
+++ b/autoconf/configure.ac
@@ -159,6 +159,11 @@ AC_CACHE_CHECK([type of operating system we're going to host on],
llvm_cv_no_link_all_option="-Wl,-noall_load"
llvm_cv_os_type="Darwin"
llvm_cv_platform_type="Unix" ;;
+ *-*-minix*)
+ llvm_cv_link_all_option="-Wl,-all_load"
+ llvm_cv_no_link_all_option="-Wl,-noall_load"
+ llvm_cv_os_type="Minix"
+ llvm_cv_platform_type="Unix" ;;
*-*-freebsd*)
llvm_cv_link_all_option="-Wl,--whole-archive"
llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
@@ -247,6 +252,8 @@ AC_CACHE_CHECK([type of operating system we're going to target],
llvm_cv_target_os_type="Cygwin" ;;
*-*-darwin*)
llvm_cv_target_os_type="Darwin" ;;
+ *-*-minix*)
+ llvm_cv_target_os_type="Minix" ;;
*-*-freebsd*)
llvm_cv_target_os_type="FreeBSD" ;;
*-*-openbsd*)
@@ -721,8 +728,9 @@ AC_MSG_CHECKING([optimization flags])
case "$withval" in
default)
case "$llvm_cv_os_type" in
- MingW) optimize_option=-O3 ;;
- *) optimize_option=-O2 ;;
+ FreeBSD) optimize_option=-O2 ;;
+ MingW) optimize_option=-O2 ;;
+ *) optimize_option=-O3 ;;
esac ;;
*) optimize_option="$withval" ;;
esac
@@ -1015,6 +1023,9 @@ AC_LINK_USE_R
dnl Determine whether the linker supports the -export-dynamic option.
AC_LINK_EXPORT_DYNAMIC
+dnl Determine whether the linker supports the -retain-symbols-file option.
+AC_LINK_RETAIN_SYMBOLS_FILE
+
dnl Check for libtool and the library that has dlopen function (which must come
dnl before the AC_PROG_LIBTOOL check in order to enable dlopening libraries with
dnl libtool).
@@ -1283,7 +1294,7 @@ AC_CHECK_FUNCS([backtrace ceilf floorf roundf rintf nearbyintf getcwd ])
AC_CHECK_FUNCS([powf fmodf strtof round ])
AC_CHECK_FUNCS([getpagesize getrusage getrlimit setrlimit gettimeofday ])
AC_CHECK_FUNCS([isatty mkdtemp mkstemp ])
-AC_CHECK_FUNCS([mktemp realpath sbrk setrlimit strdup ])
+AC_CHECK_FUNCS([mktemp posix_spawn realpath sbrk setrlimit strdup ])
AC_CHECK_FUNCS([strerror strerror_r strerror_s setenv ])
AC_CHECK_FUNCS([strtoll strtoq sysconf malloc_zone_statistics ])
AC_CHECK_FUNCS([setjmp longjmp sigsetjmp siglongjmp])
diff --git a/autoconf/m4/link_options.m4 b/autoconf/m4/link_options.m4
index 66036de433d..697abab07d4 100644
--- a/autoconf/m4/link_options.m4
+++ b/autoconf/m4/link_options.m4
@@ -8,7 +8,7 @@ AC_DEFUN([AC_LINK_USE_R],
[ AC_LANG_PUSH([C])
oldcflags="$CFLAGS"
CFLAGS="$CFLAGS -Wl,-R."
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[int main() { return 0; }]])],
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],
[llvm_cv_link_use_r=yes],[llvm_cv_link_use_r=no])
CFLAGS="$oldcflags"
AC_LANG_POP([C])
@@ -29,7 +29,7 @@ AC_DEFUN([AC_LINK_EXPORT_DYNAMIC],
[ AC_LANG_PUSH([C])
oldcflags="$CFLAGS"
CFLAGS="$CFLAGS -Wl,-export-dynamic"
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[int main() { return 0; }]])],
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],
[llvm_cv_link_use_export_dynamic=yes],[llvm_cv_link_use_export_dynamic=no])
CFLAGS="$oldcflags"
AC_LANG_POP([C])
@@ -39,3 +39,46 @@ if test "$llvm_cv_link_use_export_dynamic" = yes ; then
fi
])
+#
+# Determine if the system can handle the -retain-symbols-file option being
+# passed to the linker.
+#
+# This macro is specific to LLVM.
+#
+AC_DEFUN([AC_LINK_RETAIN_SYMBOLS_FILE],
+[AC_CACHE_CHECK([for compiler -Wl,-retain-symbols-file option],
+ [llvm_cv_link_use_retain_symbols_file],
+[ AC_LANG_PUSH([C])
+ oldcflags="$CFLAGS"
+
+ # The following code is from the autoconf manual,
+ # "11.13: Limitations of Usual Tools".
+ # Create a temporary directory $tmp in $TMPDIR (default /tmp).
+ # Use mktemp if possible; otherwise fall back on mkdir,
+ # with $RANDOM to make collisions less likely.
+ : ${TMPDIR=/tmp}
+ {
+ tmp=`
+ (umask 077 && mktemp -d "$TMPDIR/fooXXXXXX") 2>/dev/null
+ ` &&
+ test -n "$tmp" && test -d "$tmp"
+ } || {
+ tmp=$TMPDIR/foo$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+ } || exit $?
+
+ echo "main" > "$tmp/exports"
+
+ CFLAGS="$CFLAGS -Wl,-retain-symbols-file=$tmp/exports"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],
+ [llvm_cv_link_use_retain_symbols_file=yes],[llvm_cv_link_use_retain_symbols_file=no])
+ rm "$tmp/exports"
+ rmdir "$tmp"
+ CFLAGS="$oldcflags"
+ AC_LANG_POP([C])
+])
+if test "$llvm_cv_link_use_retain_symbols_file" = yes ; then
+ AC_SUBST(HAVE_LINK_RETAIN_SYMBOLS_FILE,1)
+ fi
+])
+
diff --git a/bindings/ocaml/llvm/llvm.ml b/bindings/ocaml/llvm/llvm.ml
index e801c494713..7ab6f51efb9 100644
--- a/bindings/ocaml/llvm/llvm.ml
+++ b/bindings/ocaml/llvm/llvm.ml
@@ -90,13 +90,13 @@ module Attribute = struct
| Optsize
| Ssp
| Sspreq
- | Alignment
+ | Alignment of int
| Nocapture
| Noredzone
| Noimplicitfloat
| Naked
| Inlinehint
- | Stackalignment
+ | Stackalignment of int
end
module Icmp = struct
@@ -170,6 +170,8 @@ external delete_type_name : string -> llmodule -> unit
external type_by_name : llmodule -> string -> lltype option
= "llvm_type_by_name"
external dump_module : llmodule -> unit = "llvm_dump_module"
+external set_module_inline_asm : llmodule -> string -> unit
+ = "llvm_set_module_inline_asm"
(*===-- Types -------------------------------------------------------------===*)
external classify_type : lltype -> TypeKind.t = "llvm_classify_type"
@@ -548,10 +550,42 @@ let rec fold_right_function_range f i e init =
let fold_right_functions f m init =
fold_right_function_range f (function_end m) (At_start m) init
-external add_function_attr : llvalue -> Attribute.t -> unit
- = "llvm_add_function_attr"
-external remove_function_attr : llvalue -> Attribute.t -> unit
- = "llvm_remove_function_attr"
+external llvm_add_function_attr : llvalue -> int -> unit
+ = "llvm_add_function_attr"
+external llvm_remove_function_attr : llvalue -> int -> unit
+ = "llvm_remove_function_attr"
+
+let pack_attr (attr:Attribute.t) : int =
+ match attr with
+ Attribute.Zext -> 1 lsl 0
+ | Attribute.Sext -> 1 lsl 1
+ | Attribute.Noreturn -> 1 lsl 2
+ | Attribute.Inreg -> 1 lsl 3
+ | Attribute.Structret -> 1 lsl 4
+ | Attribute.Nounwind -> 1 lsl 5
+ | Attribute.Noalias -> 1 lsl 6
+ | Attribute.Byval -> 1 lsl 7
+ | Attribute.Nest -> 1 lsl 8
+ | Attribute.Readnone -> 1 lsl 9
+ | Attribute.Readonly -> 1 lsl 10
+ | Attribute.Noinline -> 1 lsl 11
+ | Attribute.Alwaysinline -> 1 lsl 12
+ | Attribute.Optsize -> 1 lsl 13
+ | Attribute.Ssp -> 1 lsl 14
+ | Attribute.Sspreq -> 1 lsl 15
+ | Attribute.Alignment n -> n lsl 16
+ | Attribute.Nocapture -> 1 lsl 21
+ | Attribute.Noredzone -> 1 lsl 22
+ | Attribute.Noimplicitfloat -> 1 lsl 23
+ | Attribute.Naked -> 1 lsl 24
+ | Attribute.Inlinehint -> 1 lsl 25
+ | Attribute.Stackalignment n -> n lsl 26
+
+let add_function_attr llval attr =
+ llvm_add_function_attr llval (pack_attr attr)
+
+let remove_function_attr llval attr =
+ llvm_remove_function_attr llval (pack_attr attr)
(*--... Operations on params ...............................................--*)
external params : llvalue -> llvalue array = "llvm_params"
@@ -602,10 +636,17 @@ let rec fold_right_param_range f init i e =
let fold_right_params f fn init =
fold_right_param_range f init (param_end fn) (At_start fn)
-external add_param_attr : llvalue -> Attribute.t -> unit
- = "llvm_add_param_attr"
-external remove_param_attr : llvalue -> Attribute.t -> unit
- = "llvm_remove_param_attr"
+external llvm_add_param_attr : llvalue -> int -> unit
+ = "llvm_add_param_attr"
+external llvm_remove_param_attr : llvalue -> int -> unit
+ = "llvm_remove_param_attr"
+
+let add_param_attr llval attr =
+ llvm_add_param_attr llval (pack_attr attr)
+
+let remove_param_attr llval attr =
+ llvm_remove_param_attr llval (pack_attr attr)
+
external set_param_alignment : llvalue -> int -> unit
= "llvm_set_param_alignment"
@@ -727,10 +768,17 @@ external instruction_call_conv: llvalue -> int
= "llvm_instruction_call_conv"
external set_instruction_call_conv: int -> llvalue -> unit
= "llvm_set_instruction_call_conv"
-external add_instruction_param_attr : llvalue -> int -> Attribute.t -> unit
- = "llvm_add_instruction_param_attr"
-external remove_instruction_param_attr : llvalue -> int -> Attribute.t -> unit
- = "llvm_remove_instruction_param_attr"
+
+external llvm_add_instruction_param_attr : llvalue -> int -> int -> unit
+ = "llvm_add_instruction_param_attr"
+external llvm_remove_instruction_param_attr : llvalue -> int -> int -> unit
+ = "llvm_remove_instruction_param_attr"
+
+let add_instruction_param_attr llval i attr =
+ llvm_add_instruction_param_attr llval i (pack_attr attr)
+
+let remove_instruction_param_attr llval i attr =
+ llvm_remove_instruction_param_attr llval i (pack_attr attr)
(*--... Operations on call instructions (only) .............................--*)
external is_tail_call : llvalue -> bool = "llvm_is_tail_call"
diff --git a/bindings/ocaml/llvm/llvm.mli b/bindings/ocaml/llvm/llvm.mli
index 4b0c06da03e..742265cd3d5 100644
--- a/bindings/ocaml/llvm/llvm.mli
+++ b/bindings/ocaml/llvm/llvm.mli
@@ -139,13 +139,13 @@ module Attribute : sig
| Optsize
| Ssp
| Sspreq
- | Alignment
+ | Alignment of int
| Nocapture
| Noredzone
| Noimplicitfloat
| Naked
| Inlinehint
- | Stackalignment
+ | Stackalignment of int
end
(** The predicate for an integer comparison ([icmp]) instruction.
@@ -284,6 +284,11 @@ external type_by_name : llmodule -> string -> lltype option
error. See the method [llvm::Module::dump]. *)
external dump_module : llmodule -> unit = "llvm_dump_module"
+(** [set_module_inline_asm m asm] sets the inline assembler for the module. See
+ the method [llvm::Module::setModuleInlineAsm]. *)
+external set_module_inline_asm : llmodule -> string -> unit
+ = "llvm_set_module_inline_asm"
+
(** {6 Types} *)
@@ -1282,13 +1287,11 @@ external set_gc : string option -> llvalue -> unit = "llvm_set_gc"
(** [add_function_attr f a] adds attribute [a] to the return type of function
[f]. *)
-external add_function_attr : llvalue -> Attribute.t -> unit
- = "llvm_add_function_attr"
+val add_function_attr : llvalue -> Attribute.t -> unit
(** [remove_function_attr f a] removes attribute [a] from the return type of
function [f]. *)
-external remove_function_attr : llvalue -> Attribute.t -> unit
- = "llvm_remove_function_attr"
+val remove_function_attr : llvalue -> Attribute.t -> unit
(** {7 Operations on params} *)
@@ -1343,11 +1346,10 @@ val rev_iter_params : (llvalue -> unit) -> llvalue -> unit
val fold_right_params : (llvalue -> 'a -> 'a) -> llvalue -> 'a -> 'a
(** [add_param p a] adds attribute [a] to parameter [p]. *)
-external add_param_attr : llvalue -> Attribute.t -> unit = "llvm_add_param_attr"
+val add_param_attr : llvalue -> Attribute.t -> unit
(** [remove_param_attr p a] removes attribute [a] from parameter [p]. *)
-external remove_param_attr : llvalue -> Attribute.t -> unit
- = "llvm_remove_param_attr"
+val remove_param_attr : llvalue -> Attribute.t -> unit
(** [set_param_alignment p a] set the alignment of parameter [p] to [a]. *)
external set_param_alignment : llvalue -> int -> unit
@@ -1499,14 +1501,12 @@ external set_instruction_call_conv: int -> llvalue -> unit
(** [add_instruction_param_attr ci i a] adds attribute [a] to the [i]th
parameter of the call or invoke instruction [ci]. [i]=0 denotes the return
value. *)
-external add_instruction_param_attr : llvalue -> int -> Attribute.t -> unit
- = "llvm_add_instruction_param_attr"
+val add_instruction_param_attr : llvalue -> int -> Attribute.t -> unit
(** [remove_instruction_param_attr ci i a] removes attribute [a] from the
[i]th parameter of the call or invoke instruction [ci]. [i]=0 denotes the
return value. *)
-external remove_instruction_param_attr : llvalue -> int -> Attribute.t -> unit
- = "llvm_remove_instruction_param_attr"
+val remove_instruction_param_attr : llvalue -> int -> Attribute.t -> unit
(** {Operations on call instructions (only)} *)
diff --git a/bindings/ocaml/llvm/llvm_ocaml.c b/bindings/ocaml/llvm/llvm_ocaml.c
index d526a05a510..c4355ba2dbf 100644
--- a/bindings/ocaml/llvm/llvm_ocaml.c
+++ b/bindings/ocaml/llvm/llvm_ocaml.c
@@ -182,6 +182,11 @@ CAMLprim value llvm_dump_module(LLVMModuleRef M) {
return Val_unit;
}
+/* llmodule -> string -> unit */
+CAMLprim value llvm_set_module_inline_asm(LLVMModuleRef M, value Asm) {
+ LLVMSetModuleInlineAsm(M, String_val(Asm));
+ return Val_unit;
+}
/*===-- Types -------------------------------------------------------------===*/
@@ -941,13 +946,13 @@ CAMLprim value llvm_set_gc(value GC, LLVMValueRef Fn) {
/* llvalue -> Attribute.t -> unit */
CAMLprim value llvm_add_function_attr(LLVMValueRef Arg, value PA) {
- LLVMAddFunctionAttr(Arg, 1< Attribute.t -> unit */
CAMLprim value llvm_remove_function_attr(LLVMValueRef Arg, value PA) {
- LLVMRemoveFunctionAttr(Arg, 1< Attribute.t -> unit */
CAMLprim value llvm_add_param_attr(LLVMValueRef Arg, value PA) {
- LLVMAddAttribute(Arg, 1< Attribute.t -> unit */
CAMLprim value llvm_remove_param_attr(LLVMValueRef Arg, value PA) {
- LLVMRemoveAttribute(Arg, 1<&6; }
case "$withval" in
default)
case "$llvm_cv_os_type" in
- MingW) optimize_option=-O3 ;;
- *) optimize_option=-O2 ;;
+ FreeBSD) optimize_option=-O2 ;;
+ MingW) optimize_option=-O2 ;;
+ *) optimize_option=-O3 ;;
esac ;;
*) optimize_option="$withval" ;;
esac
@@ -8626,7 +8635,7 @@ cat >>conftest.$ac_ext <<_ACEOF
int
main ()
{
-int main() { return 0; }
+
;
return 0;
}
@@ -8718,7 +8727,7 @@ cat >>conftest.$ac_ext <<_ACEOF
int
main ()
{
-int main() { return 0; }
+
;
return 0;
}
@@ -8787,6 +8796,116 @@ _ACEOF
fi
+{ echo "$as_me:$LINENO: checking for compiler -Wl,-retain-symbols-file option" >&5
+echo $ECHO_N "checking for compiler -Wl,-retain-symbols-file option... $ECHO_C" >&6; }
+if test "${llvm_cv_link_use_retain_symbols_file+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ oldcflags="$CFLAGS"
+
+ # The following code is from the autoconf manual,
+ # "11.13: Limitations of Usual Tools".
+ # Create a temporary directory $tmp in $TMPDIR (default /tmp).
+ # Use mktemp if possible; otherwise fall back on mkdir,
+ # with $RANDOM to make collisions less likely.
+ : ${TMPDIR=/tmp}
+ {
+ tmp=`
+ (umask 077 && mktemp -d "$TMPDIR/fooXXXXXX") 2>/dev/null
+ ` &&
+ test -n "$tmp" && test -d "$tmp"
+ } || {
+ tmp=$TMPDIR/foo$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+ } || exit $?
+
+ echo "main" > "$tmp/exports"
+
+ CFLAGS="$CFLAGS -Wl,-retain-symbols-file=$tmp/exports"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ llvm_cv_link_use_retain_symbols_file=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ llvm_cv_link_use_retain_symbols_file=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ rm "$tmp/exports"
+ rmdir "$tmp"
+ CFLAGS="$oldcflags"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+{ echo "$as_me:$LINENO: result: $llvm_cv_link_use_retain_symbols_file" >&5
+echo "${ECHO_T}$llvm_cv_link_use_retain_symbols_file" >&6; }
+if test "$llvm_cv_link_use_retain_symbols_file" = yes ; then
+ HAVE_LINK_RETAIN_SYMBOLS_FILE=1
+
+ fi
+
+
{ echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
@@ -11156,7 +11275,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <&5
@@ -21069,6 +21189,7 @@ OCAMLOPT!$OCAMLOPT$ac_delim
OCAMLDEP!$OCAMLDEP$ac_delim
OCAMLDOC!$OCAMLDOC$ac_delim
GAS!$GAS$ac_delim
+HAVE_LINK_RETAIN_SYMBOLS_FILE!$HAVE_LINK_RETAIN_SYMBOLS_FILE$ac_delim
INSTALL_LTDL_TRUE!$INSTALL_LTDL_TRUE$ac_delim
INSTALL_LTDL_FALSE!$INSTALL_LTDL_FALSE$ac_delim
CONVENIENCE_LTDL_TRUE!$CONVENIENCE_LTDL_TRUE$ac_delim
@@ -21112,7 +21233,7 @@ LIBOBJS!$LIBOBJS$ac_delim
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 91; then
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 92; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
diff --git a/docs/CodeGenerator.html b/docs/CodeGenerator.html
index 582e252ea18..b2c3b83175c 100644
--- a/docs/CodeGenerator.html
+++ b/docs/CodeGenerator.html
@@ -1430,7 +1430,7 @@ bool RegMapping_Fer::compatible_class(MachineFunction &mf,
instruction,
use TargetInstrInfo::get(opcode)::ImplicitUses. Pre-colored
registers impose constraints on any register allocation algorithm. The
- register allocator must make sure that none of them is been overwritten by
+ register allocator must make sure that none of them are overwritten by
the values of virtual registers while still alive.
@@ -2162,7 +2162,7 @@ MOVSX32rm16 -> movsx, 32-bit register, 16-bit memory
Chris Lattner
The LLVM Compiler Infrastructure
- Last modified: $Date: 2010-03-25 01:03:04 +0100 (Thu, 25 Mar 2010) $
+ Last modified: $Date: 2010-04-09 20:39:54 +0200 (Fri, 09 Apr 2010) $