From 7abe37e4aee38cc79d91dd069a37d7e91d5bef53 Mon Sep 17 00:00:00 2001
From: Shih-wei Liao
Date: Wed, 28 Apr 2010 01:47:00 -0700
Subject: [PATCH] Sync upstream to r102410. Re-turn on sdk.
Change-Id: I91a890863989a67243b4d2dfd1ae09b843ebaeaf
---
Android.mk | 15 +-
CMakeLists.txt | 4 +-
Makefile | 4 +-
Makefile.config.in | 4 +
Makefile.rules | 57 +-
autoconf/configure.ac | 70 +-
autoconf/m4/link_options.m4 | 47 +-
bindings/ocaml/Makefile.ocaml | 123 +-
bindings/ocaml/llvm/llvm.ml | 76 +-
bindings/ocaml/llvm/llvm.mli | 26 +-
bindings/ocaml/llvm/llvm_ocaml.c | 17 +-
cmake/config-ix.cmake | 1 +
cmake/modules/LLVMLibDeps.cmake | 29 +-
configure | 383 ++-
device/include/llvm/Config/config.h | 8 +-
docs/CodeGenerator.html | 54 +-
docs/GoldPlugin.html | 35 +-
docs/HowToReleaseLLVM.html | 11 +-
docs/LangRef.html | 388 ++-
docs/Lexicon.html | 20 +-
docs/LinkTimeOptimization.html | 2 +-
docs/Passes.html | 10 -
docs/ProgrammersManual.html | 42 +-
docs/ReleaseNotes.html | 745 +++--
docs/SourceLevelDebugging.html | 229 +-
docs/TableGenFundamentals.html | 8 +-
docs/WritingAnLLVMBackend.html | 3 +-
docs/WritingAnLLVMPass.html | 16 +-
docs/tutorial/OCamlLangImpl3.html | 6 +-
docs/tutorial/OCamlLangImpl4.html | 37 +-
docs/tutorial/OCamlLangImpl5.html | 32 +-
docs/tutorial/OCamlLangImpl6.html | 26 +-
docs/tutorial/OCamlLangImpl7.html | 26 +-
examples/ExceptionDemo/ExceptionDemo.cpp | 3 +-
examples/ExceptionDemo/Makefile | 3 +-
examples/Makefile | 4 +
examples/OCaml-Kaleidoscope/Chapter2/Makefile | 22 +
examples/OCaml-Kaleidoscope/Chapter2/_tags | 1 +
examples/OCaml-Kaleidoscope/Chapter2/ast.ml | 25 +
examples/OCaml-Kaleidoscope/Chapter2/lexer.ml | 52 +
examples/OCaml-Kaleidoscope/Chapter2/parser.ml | 122 +
examples/OCaml-Kaleidoscope/Chapter2/token.ml | 15 +
examples/OCaml-Kaleidoscope/Chapter2/toplevel.ml | 34 +
examples/OCaml-Kaleidoscope/Chapter2/toy.ml | 21 +
examples/OCaml-Kaleidoscope/Chapter3/Makefile | 24 +
examples/OCaml-Kaleidoscope/Chapter3/_tags | 2 +
examples/OCaml-Kaleidoscope/Chapter3/ast.ml | 25 +
examples/OCaml-Kaleidoscope/Chapter3/codegen.ml | 100 +
examples/OCaml-Kaleidoscope/Chapter3/lexer.ml | 52 +
.../OCaml-Kaleidoscope/Chapter3/myocamlbuild.ml | 6 +
examples/OCaml-Kaleidoscope/Chapter3/parser.ml | 122 +
examples/OCaml-Kaleidoscope/Chapter3/token.ml | 15 +
examples/OCaml-Kaleidoscope/Chapter3/toplevel.ml | 39 +
examples/OCaml-Kaleidoscope/Chapter3/toy.ml | 26 +
examples/OCaml-Kaleidoscope/Chapter4/Makefile | 25 +
examples/OCaml-Kaleidoscope/Chapter4/_tags | 4 +
examples/OCaml-Kaleidoscope/Chapter4/ast.ml | 25 +
examples/OCaml-Kaleidoscope/Chapter4/bindings.c | 7 +
examples/OCaml-Kaleidoscope/Chapter4/codegen.ml | 103 +
examples/OCaml-Kaleidoscope/Chapter4/lexer.ml | 52 +
.../OCaml-Kaleidoscope/Chapter4/myocamlbuild.ml | 10 +
examples/OCaml-Kaleidoscope/Chapter4/parser.ml | 122 +
examples/OCaml-Kaleidoscope/Chapter4/token.ml | 15 +
examples/OCaml-Kaleidoscope/Chapter4/toplevel.ml | 49 +
examples/OCaml-Kaleidoscope/Chapter4/toy.ml | 53 +
examples/OCaml-Kaleidoscope/Chapter5/Makefile | 25 +
examples/OCaml-Kaleidoscope/Chapter5/_tags | 4 +
examples/OCaml-Kaleidoscope/Chapter5/ast.ml | 31 +
examples/OCaml-Kaleidoscope/Chapter5/bindings.c | 7 +
examples/OCaml-Kaleidoscope/Chapter5/codegen.ml | 225 ++
examples/OCaml-Kaleidoscope/Chapter5/lexer.ml | 57 +
.../OCaml-Kaleidoscope/Chapter5/myocamlbuild.ml | 10 +
examples/OCaml-Kaleidoscope/Chapter5/parser.ml | 158 +
examples/OCaml-Kaleidoscope/Chapter5/token.ml | 19 +
examples/OCaml-Kaleidoscope/Chapter5/toplevel.ml | 49 +
examples/OCaml-Kaleidoscope/Chapter5/toy.ml | 53 +
examples/OCaml-Kaleidoscope/Chapter6/Makefile | 25 +
examples/OCaml-Kaleidoscope/Chapter6/_tags | 4 +
examples/OCaml-Kaleidoscope/Chapter6/ast.ml | 36 +
examples/OCaml-Kaleidoscope/Chapter6/bindings.c | 13 +
examples/OCaml-Kaleidoscope/Chapter6/codegen.ml | 251 ++
examples/OCaml-Kaleidoscope/Chapter6/lexer.ml | 59 +
.../OCaml-Kaleidoscope/Chapter6/myocamlbuild.ml | 10 +
examples/OCaml-Kaleidoscope/Chapter6/parser.ml | 195 ++
examples/OCaml-Kaleidoscope/Chapter6/token.ml | 22 +
examples/OCaml-Kaleidoscope/Chapter6/toplevel.ml | 49 +
examples/OCaml-Kaleidoscope/Chapter6/toy.ml | 53 +
examples/OCaml-Kaleidoscope/Chapter7/Makefile | 25 +
examples/OCaml-Kaleidoscope/Chapter7/_tags | 4 +
examples/OCaml-Kaleidoscope/Chapter7/ast.ml | 39 +
examples/OCaml-Kaleidoscope/Chapter7/bindings.c | 13 +
examples/OCaml-Kaleidoscope/Chapter7/codegen.ml | 370 +++
examples/OCaml-Kaleidoscope/Chapter7/lexer.ml | 60 +
.../OCaml-Kaleidoscope/Chapter7/myocamlbuild.ml | 10 +
examples/OCaml-Kaleidoscope/Chapter7/parser.ml | 221 ++
examples/OCaml-Kaleidoscope/Chapter7/token.ml | 25 +
examples/OCaml-Kaleidoscope/Chapter7/toplevel.ml | 49 +
examples/OCaml-Kaleidoscope/Chapter7/toy.ml | 57 +
examples/OCaml-Kaleidoscope/Makefile | 15 +
host/include/llvm/Config/config.h | 8 +-
include/llvm-c/Core.h | 2 +
include/llvm-c/EnhancedDisassembly.h | 3 +-
include/llvm-c/Transforms/IPO.h | 6 +
include/llvm-c/Transforms/Scalar.h | 7 +
include/llvm/ADT/APInt.h | 64 +
include/llvm/ADT/BitVector.h | 3 +-
include/llvm/ADT/DenseMap.h | 7 +
include/llvm/ADT/DenseSet.h | 16 +
include/llvm/ADT/EquivalenceClasses.h | 1 +
include/llvm/ADT/FoldingSet.h | 30 +-
include/llvm/ADT/ImmutableSet.h | 2 +
include/llvm/ADT/Optional.h | 66 +
include/llvm/ADT/OwningPtr.h | 1 -
include/llvm/ADT/PointerUnion.h | 6 +-
include/llvm/ADT/SCCIterator.h | 68 +-
include/llvm/ADT/STLExtras.h | 22 +
include/llvm/ADT/SmallVector.h | 41 +-
include/llvm/ADT/Statistic.h | 10 +
include/llvm/ADT/StringExtras.h | 21 +-
include/llvm/ADT/StringMap.h | 8 +
include/llvm/ADT/StringRef.h | 4 +-
include/llvm/Analysis/CallGraph.h | 8 +
include/llvm/Analysis/DebugInfo.h | 214 +-
include/llvm/Analysis/Dominators.h | 46 +-
include/llvm/Analysis/IVUsers.h | 74 +-
include/llvm/Analysis/InlineCost.h | 21 +-
include/llvm/Analysis/InstructionSimplify.h | 4 +
include/llvm/Analysis/Lint.h | 52 +
include/llvm/Analysis/LoopInfo.h | 2 +-
include/llvm/Analysis/LoopPass.h | 4 +
include/llvm/Analysis/PointerTracking.h | 2 +-
include/llvm/Analysis/ScalarEvolution.h | 40 +-
include/llvm/Analysis/ScalarEvolutionExpander.h | 43 +-
include/llvm/Analysis/ScalarEvolutionExpressions.h | 79 +-
.../llvm/Analysis/ScalarEvolutionNormalization.h | 78 +
include/llvm/Analysis/ValueTracking.h | 3 +-
include/llvm/Analysis/Verifier.h | 2 +-
include/llvm/Assembly/PrintModulePass.h | 4 +-
include/llvm/BasicBlock.h | 6 +
include/llvm/Bitcode/Archive.h | 4 +-
include/llvm/Bitcode/LLVMBitCodes.h | 5 +-
include/llvm/CallGraphSCCPass.h | 38 +-
include/llvm/CallingConv.h | 3 +
include/llvm/CodeGen/Analysis.h | 80 +
include/llvm/CodeGen/AsmPrinter.h | 389 ++-
include/llvm/CodeGen/DwarfWriter.h | 103 -
include/llvm/CodeGen/FastISel.h | 70 +-
include/llvm/CodeGen/GCMetadata.h | 18 +-
include/llvm/CodeGen/GCMetadataPrinter.h | 7 +-
include/llvm/CodeGen/ISDOpcodes.h | 762 +++++
include/llvm/CodeGen/JITCodeEmitter.h | 26 +-
include/llvm/CodeGen/LinkAllCodegenComponents.h | 1 +
include/llvm/CodeGen/LiveInterval.h | 28 +-
include/llvm/CodeGen/LiveIntervalAnalysis.h | 20 +-
include/llvm/CodeGen/LiveStackAnalysis.h | 4 +-
include/llvm/CodeGen/MachineBasicBlock.h | 12 +-
include/llvm/CodeGen/MachineCodeEmitter.h | 7 +-
include/llvm/CodeGen/MachineConstantPool.h | 6 +-
include/llvm/CodeGen/MachineDominators.h | 9 +-
include/llvm/CodeGen/MachineFrameInfo.h | 28 +-
include/llvm/CodeGen/MachineFunction.h | 50 +-
include/llvm/CodeGen/MachineFunctionAnalysis.h | 2 +-
include/llvm/CodeGen/MachineFunctionPass.h | 3 +
include/llvm/CodeGen/MachineInstr.h | 19 +-
include/llvm/CodeGen/MachineInstrBuilder.h | 7 +-
include/llvm/CodeGen/MachineJumpTableInfo.h | 10 +-
include/llvm/CodeGen/MachineLocation.h | 47 +-
include/llvm/CodeGen/MachineModuleInfo.h | 174 +-
include/llvm/CodeGen/MachineModuleInfoImpls.h | 22 +-
include/llvm/CodeGen/MachineOperand.h | 34 +-
include/llvm/CodeGen/MachineRegisterInfo.h | 20 +-
include/llvm/CodeGen/MachineSSAUpdater.h | 24 +-
include/llvm/CodeGen/ObjectCodeEmitter.h | 7 -
include/llvm/CodeGen/Passes.h | 15 +-
include/llvm/CodeGen/RuntimeLibcalls.h | 10 +
include/llvm/CodeGen/ScheduleDAG.h | 41 +-
include/llvm/CodeGen/SelectionDAG.h | 133 +-
include/llvm/CodeGen/SelectionDAGISel.h | 49 +-
include/llvm/CodeGen/SelectionDAGNodes.h | 817 +----
include/llvm/CodeGen/SlotIndexes.h | 16 +-
.../llvm/CodeGen/TargetLoweringObjectFileImpl.h | 44 +-
include/llvm/Config/config.h.cmake | 3 +
include/llvm/Config/config.h.in | 6 +
include/llvm/Function.h | 7 +-
include/llvm/InlineAsm.h | 66 +-
include/llvm/Instruction.h | 44 +-
include/llvm/Instructions.h | 39 +-
include/llvm/IntrinsicInst.h | 16 +-
include/llvm/Intrinsics.td | 74 +-
include/llvm/IntrinsicsARM.td | 14 +-
include/llvm/IntrinsicsPowerPC.td | 42 +-
include/llvm/IntrinsicsX86.td | 83 +-
include/llvm/LLVMContext.h | 34 +
include/llvm/LinkAllPasses.h | 3 +-
include/llvm/MC/EDInstInfo.h | 29 +
include/llvm/MC/MCAsmInfo.h | 46 +-
include/llvm/MC/MCAsmLayout.h | 97 +
include/llvm/MC/MCAssembler.h | 345 +-
include/llvm/MC/MCCodeEmitter.h | 9 +
include/llvm/MC/MCContext.h | 56 +-
include/llvm/MC/MCDisassembler.h | 12 +-
include/llvm/MC/MCExpr.h | 63 +-
include/llvm/MC/MCInst.h | 9 +
include/llvm/MC/MCInstPrinter.h | 11 +-
include/llvm/MC/MCObjectWriter.h | 165 +
include/llvm/MC/MCParser/AsmParser.h | 18 +-
include/llvm/MC/MCParser/MCAsmLexer.h | 2 +-
include/llvm/MC/MCParser/MCAsmParser.h | 1 -
include/llvm/MC/MCSection.h | 13 +-
include/llvm/MC/MCSectionELF.h | 57 +-
include/llvm/MC/MCSectionMachO.h | 32 +-
include/llvm/MC/MCStreamer.h | 41 +-
include/llvm/MC/MCSymbol.h | 26 +-
include/llvm/MC/MCValue.h | 17 +-
include/llvm/MC/MachObjectWriter.h | 44 +
include/llvm/Metadata.h | 13 +-
include/llvm/OperandTraits.h | 7 +-
include/llvm/Pass.h | 16 +
include/llvm/PassManagers.h | 4 +-
include/llvm/Support/Allocator.h | 63 +
include/llvm/Support/CFG.h | 98 +-
include/llvm/Support/CallSite.h | 327 +-
include/llvm/Support/Casting.h | 20 +-
include/llvm/Support/DebugLoc.h | 95 +-
include/llvm/Support/Dwarf.h | 4 +-
include/llvm/Support/ELF.h | 11 +
include/llvm/Support/ErrorHandling.h | 24 +-
include/llvm/Support/FileUtilities.h | 13 +
include/llvm/Support/IRBuilder.h | 88 +-
include/llvm/Support/IRReader.h | 12 +-
include/llvm/Support/MathExtras.h | 62 +-
include/llvm/Support/MemoryBuffer.h | 11 +-
include/llvm/Support/RecyclingAllocator.h | 14 +
include/llvm/Support/SlowOperationInformer.h | 2 +-
include/llvm/Support/SourceMgr.h | 50 +-
include/llvm/Support/Timer.h | 194 +-
include/llvm/Support/ValueHandle.h | 7 +-
include/llvm/Support/raw_ostream.h | 3 +-
include/llvm/System/Memory.h | 2 +-
include/llvm/System/Valgrind.h | 32 +
include/llvm/Target/Mangler.h | 19 +-
include/llvm/Target/Target.td | 69 +-
include/llvm/Target/TargetAsmBackend.h | 92 +
include/llvm/Target/TargetInstrDesc.h | 19 +
include/llvm/Target/TargetInstrInfo.h | 27 +-
include/llvm/Target/TargetInstrItineraries.h | 20 +-
include/llvm/Target/TargetLowering.h | 194 +-
include/llvm/Target/TargetLoweringObjectFile.h | 43 +-
include/llvm/Target/TargetMachine.h | 32 +-
include/llvm/Target/TargetOptions.h | 17 +-
include/llvm/Target/TargetRegisterInfo.h | 5 +-
include/llvm/Target/TargetRegistry.h | 52 +-
include/llvm/Target/TargetSchedule.td | 18 +-
include/llvm/Target/TargetSelectionDAG.td | 19 +-
include/llvm/Target/TargetSelectionDAGInfo.h | 36 +
include/llvm/Transforms/IPO/InlinerPass.h | 6 +-
include/llvm/Transforms/Scalar.h | 8 +-
include/llvm/Transforms/Utils/BuildLibCalls.h | 38 +-
include/llvm/Transforms/Utils/Cloning.h | 46 +-
include/llvm/Transforms/Utils/SSAUpdater.h | 30 +-
include/llvm/Type.h | 11 +-
include/llvm/Value.h | 102 +-
lib/Analysis/AliasAnalysisEvaluator.cpp | 33 +-
lib/Analysis/Android.mk | 1 +
lib/Analysis/BasicAliasAnalysis.cpp | 5 +
lib/Analysis/CMakeLists.txt | 2 +
lib/Analysis/CaptureTracking.cpp | 2 +-
lib/Analysis/ConstantFolding.cpp | 76 +-
lib/Analysis/DebugInfo.cpp | 284 +-
lib/Analysis/DomPrinter.cpp | 25 -
lib/Analysis/IPA/Android.mk | 31 +
lib/Analysis/IPA/CallGraph.cpp | 29 +-
lib/Analysis/IPA/CallGraphSCCPass.cpp | 307 +-
lib/Analysis/IPA/GlobalsModRef.cpp | 2 +-
lib/Analysis/IVUsers.cpp | 283 +-
lib/Analysis/InlineCost.cpp | 134 +-
lib/Analysis/InstructionSimplify.cpp | 32 +
lib/Analysis/Lint.cpp | 455 +++
lib/Analysis/LiveValues.cpp | 2 +-
lib/Analysis/LoopDependenceAnalysis.cpp | 3 +-
lib/Analysis/LoopInfo.cpp | 16 +-
lib/Analysis/LoopPass.cpp | 58 +-
lib/Analysis/MemoryBuiltins.cpp | 2 +-
lib/Analysis/PointerTracking.cpp | 8 +-
lib/Analysis/PostDominators.cpp | 1 -
lib/Analysis/ProfileEstimatorPass.cpp | 2 +-
lib/Analysis/ProfileInfo.cpp | 18 +-
lib/Analysis/ProfileInfoLoaderPass.cpp | 2 +-
lib/Analysis/ProfileVerifierPass.cpp | 6 +-
lib/Analysis/README.txt | 12 +
lib/Analysis/ScalarEvolution.cpp | 978 ++++--
lib/Analysis/ScalarEvolutionExpander.cpp | 87 +-
lib/Analysis/ScalarEvolutionNormalization.cpp | 150 +
lib/Analysis/ValueTracking.cpp | 27 +-
lib/Archive/Archive.cpp | 5 +-
lib/Archive/ArchiveInternals.h | 2 +-
lib/Archive/ArchiveReader.cpp | 20 +-
lib/Archive/ArchiveWriter.cpp | 5 +-
lib/Archive/CMakeLists.txt | 2 +-
lib/AsmParser/LLLexer.h | 2 +-
lib/AsmParser/LLParser.cpp | 94 +-
lib/AsmParser/LLParser.h | 15 +-
lib/AsmParser/Parser.cpp | 6 +-
lib/Bitcode/Reader/BitcodeReader.cpp | 61 +-
lib/Bitcode/Writer/BitcodeWriter.cpp | 64 +-
lib/Bitcode/Writer/ValueEnumerator.cpp | 9 +-
lib/CodeGen/AggressiveAntiDepBreaker.cpp | 56 +-
lib/CodeGen/AggressiveAntiDepBreaker.h | 6 +-
lib/CodeGen/Analysis.cpp | 285 ++
lib/CodeGen/Android.mk | 2 +
lib/CodeGen/AntiDepBreaker.h | 6 +-
lib/CodeGen/AsmPrinter/Android.mk | 3 -
lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 974 +++---
lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp | 279 ++
lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp | 370 +++
lib/CodeGen/AsmPrinter/CMakeLists.txt | 7 +-
lib/CodeGen/AsmPrinter/DIE.cpp | 162 +-
lib/CodeGen/AsmPrinter/DIE.h | 130 +-
lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 1718 +++++-----
lib/CodeGen/AsmPrinter/DwarfDebug.h | 258 +-
lib/CodeGen/AsmPrinter/DwarfException.cpp | 476 ++-
lib/CodeGen/AsmPrinter/DwarfException.h | 56 +-
lib/CodeGen/AsmPrinter/DwarfLabel.cpp | 32 -
lib/CodeGen/AsmPrinter/DwarfLabel.h | 52 -
lib/CodeGen/AsmPrinter/DwarfPrinter.cpp | 402 ---
lib/CodeGen/AsmPrinter/DwarfPrinter.h | 177 --
lib/CodeGen/AsmPrinter/DwarfWriter.cpp | 100 -
lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp | 108 +-
lib/CodeGen/BranchFolding.cpp | 183 +-
lib/CodeGen/CMakeLists.txt | 3 +
lib/CodeGen/CriticalAntiDepBreaker.cpp | 26 +-
lib/CodeGen/CriticalAntiDepBreaker.h | 6 +-
lib/CodeGen/DwarfEHPrepare.cpp | 338 +-
lib/CodeGen/ELFCodeEmitter.h | 4 +-
lib/CodeGen/ELFWriter.cpp | 14 +-
lib/CodeGen/ELFWriter.h | 2 +-
lib/CodeGen/ExactHazardRecognizer.cpp | 95 +-
lib/CodeGen/ExactHazardRecognizer.h | 67 +-
lib/CodeGen/GCMetadata.cpp | 44 +-
lib/CodeGen/GCMetadataPrinter.cpp | 7 +-
lib/CodeGen/GCStrategy.cpp | 26 +-
lib/CodeGen/IntrinsicLowering.cpp | 6 +-
lib/CodeGen/LLVMTargetMachine.cpp | 106 +-
lib/CodeGen/LiveInterval.cpp | 15 +-
lib/CodeGen/LiveIntervalAnalysis.cpp | 76 +-
lib/CodeGen/LiveStackAnalysis.cpp | 2 +-
lib/CodeGen/LiveVariables.cpp | 12 +-
lib/CodeGen/MachineBasicBlock.cpp | 79 +-
lib/CodeGen/MachineCSE.cpp | 232 +-
lib/CodeGen/MachineFunction.cpp | 92 +-
lib/CodeGen/MachineFunctionAnalysis.cpp | 22 +-
lib/CodeGen/MachineFunctionPass.cpp | 6 +
lib/CodeGen/MachineFunctionPrinterPass.cpp | 60 +
lib/CodeGen/MachineInstr.cpp | 131 +-
lib/CodeGen/MachineLICM.cpp | 339 +-
lib/CodeGen/MachineModuleInfo.cpp | 352 +-
lib/CodeGen/MachineModuleInfoImpls.cpp | 9 +-
lib/CodeGen/MachineRegisterInfo.cpp | 154 +
lib/CodeGen/MachineSSAUpdater.cpp | 552 +++-
lib/CodeGen/MachineSink.cpp | 35 +-
lib/CodeGen/MachineVerifier.cpp | 8 +-
lib/CodeGen/OptimizeExts.cpp | 25 +-
lib/CodeGen/PHIElimination.cpp | 2 +-
lib/CodeGen/PostRASchedulerList.cpp | 12 +-
lib/CodeGen/PreAllocSplitting.cpp | 2 +-
lib/CodeGen/PrologEpilogInserter.cpp | 102 +-
lib/CodeGen/PrologEpilogInserter.h | 3 +-
lib/CodeGen/RegAllocFast.cpp | 932 ++++++
lib/CodeGen/RegAllocLinearScan.cpp | 2 +-
lib/CodeGen/RegAllocLocal.cpp | 610 ++--
lib/CodeGen/RegisterScavenging.cpp | 5 +-
lib/CodeGen/ScheduleDAG.cpp | 1 -
lib/CodeGen/ScheduleDAGInstrs.cpp | 118 +-
lib/CodeGen/ScheduleDAGInstrs.h | 4 +
lib/CodeGen/SelectionDAG/CMakeLists.txt | 1 +
lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 616 +++-
lib/CodeGen/SelectionDAG/FastISel.cpp | 258 +-
lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp | 161 +-
lib/CodeGen/SelectionDAG/FunctionLoweringInfo.h | 92 +-
lib/CodeGen/SelectionDAG/InstrEmitter.cpp | 310 +-
lib/CodeGen/SelectionDAG/InstrEmitter.h | 34 +-
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 153 +-
lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp | 45 +-
lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp | 36 +-
lib/CodeGen/SelectionDAG/LegalizeTypes.cpp | 24 +-
lib/CodeGen/SelectionDAG/LegalizeTypes.h | 6 +-
lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp | 17 +-
lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp | 2 +-
lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp | 22 +-
lib/CodeGen/SelectionDAG/SDDbgValue.h | 67 -
lib/CodeGen/SelectionDAG/SDNodeDbgValue.h | 114 +
lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp | 12 +-
lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp | 144 +-
lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h | 3 +-
lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 591 ++--
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 1089 +++----
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h | 262 +-
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 757 ++---
lib/CodeGen/SelectionDAG/TargetLowering.cpp | 95 +-
.../SelectionDAG/TargetSelectionDAGInfo.cpp | 21 +
lib/CodeGen/ShadowStackGC.cpp | 2 +-
lib/CodeGen/SimpleRegisterCoalescing.cpp | 266 +-
lib/CodeGen/SimpleRegisterCoalescing.h | 7 +-
lib/CodeGen/Spiller.cpp | 26 +-
lib/CodeGen/TailDuplication.cpp | 13 +-
lib/CodeGen/TargetInstrInfoImpl.cpp | 2 +-
lib/CodeGen/TargetLoweringObjectFileImpl.cpp | 527 +--
lib/CodeGen/TwoAddressInstructionPass.cpp | 12 +-
lib/CodeGen/UnreachableBlockElim.cpp | 16 +-
lib/CodeGen/VirtRegRewriter.cpp | 2628 +++++++--------
lib/CodeGen/VirtRegRewriter.h | 7 +-
lib/ExecutionEngine/ExecutionEngine.cpp | 101 +-
lib/ExecutionEngine/Interpreter/Execution.cpp | 4 +-
.../Interpreter/ExternalFunctions.cpp | 12 +-
lib/ExecutionEngine/JIT/Intercept.cpp | 2 +-
lib/ExecutionEngine/JIT/JIT.cpp | 12 +-
lib/ExecutionEngine/JIT/JITDebugRegisterer.cpp | 7 +-
lib/ExecutionEngine/JIT/JITDwarfEmitter.cpp | 81 +-
lib/ExecutionEngine/JIT/JITEmitter.cpp | 126 +-
lib/ExecutionEngine/JIT/JITMemoryManager.cpp | 8 +-
.../JIT/OProfileJITEventListener.cpp | 13 +-
lib/MC/Android.mk | 2 +
lib/MC/CMakeLists.txt | 2 +
lib/MC/MCAsmInfo.cpp | 6 +-
lib/MC/MCAsmInfoCOFF.cpp | 3 +-
lib/MC/MCAsmInfoDarwin.cpp | 11 -
lib/MC/MCAsmStreamer.cpp | 53 +-
lib/MC/MCAssembler.cpp | 1683 ++++------
lib/MC/MCCodeEmitter.cpp | 8 +-
lib/MC/MCContext.cpp | 113 +-
lib/MC/MCExpr.cpp | 145 +-
lib/MC/MCInst.cpp | 17 +
lib/MC/MCMachOStreamer.cpp | 148 +-
lib/MC/MCNullStreamer.cpp | 6 +-
lib/MC/MCObjectWriter.cpp | 15 +
lib/MC/MCParser/AsmLexer.cpp | 15 +-
lib/MC/MCParser/AsmParser.cpp | 200 +-
lib/MC/MCSection.cpp | 6 +-
lib/MC/MCSectionELF.cpp | 114 +-
lib/MC/MCSectionMachO.cpp | 24 +-
lib/MC/MCStreamer.cpp | 23 +
lib/MC/MCValue.cpp | 9 +-
lib/MC/MachObjectWriter.cpp | 1123 +++++++
lib/MC/TargetAsmBackend.cpp | 5 +-
lib/Support/APFloat.cpp | 284 +-
lib/Support/APInt.cpp | 79 +-
lib/Support/Allocator.cpp | 9 +-
lib/Support/CommandLine.cpp | 4 +-
lib/Support/Debug.cpp | 14 +-
lib/Support/Dwarf.cpp | 3 +-
lib/Support/ErrorHandling.cpp | 34 +-
lib/Support/FoldingSet.cpp | 10 +
lib/Support/GraphWriter.cpp | 45 +-
lib/Support/MemoryBuffer.cpp | 79 +-
lib/Support/SourceMgr.cpp | 10 +-
lib/Support/Statistic.cpp | 65 +-
lib/Support/Timer.cpp | 502 ++-
lib/Support/Triple.cpp | 2 +-
lib/Support/circular_raw_ostream.cpp | 12 +-
lib/Support/raw_ostream.cpp | 53 +-
lib/Support/regengine.inc | 93 +-
lib/Support/regexec.c | 4 +-
lib/System/Android.mk | 3 +-
lib/System/CMakeLists.txt | 2 +
lib/System/DynamicLibrary.cpp | 60 +-
lib/System/Memory.cpp | 3 +
lib/System/Program.cpp | 6 +-
lib/System/SearchForAddressOfSpecialSymbol.cpp | 64 +
lib/System/Unix/Mutex.inc | 6 -
lib/System/Unix/Path.inc | 29 +-
lib/System/Unix/Program.inc | 106 +-
lib/System/Unix/Signals.inc | 27 +-
lib/System/Valgrind.cpp | 54 +
lib/System/Win32/Path.inc | 22 +-
lib/System/Win32/Program.inc | 34 +-
lib/System/Win32/Signals.inc | 1 +
lib/Target/ARM/ARM.td | 42 +-
lib/Target/ARM/ARMAddressingModes.h | 82 +-
lib/Target/ARM/ARMBaseInstrInfo.cpp | 125 +-
lib/Target/ARM/ARMBaseInstrInfo.h | 47 +-
lib/Target/ARM/ARMBaseRegisterInfo.cpp | 36 +-
lib/Target/ARM/ARMBaseRegisterInfo.h | 2 +-
lib/Target/ARM/ARMCodeEmitter.cpp | 104 +-
lib/Target/ARM/ARMConstantIslandPass.cpp | 26 +-
lib/Target/ARM/ARMConstantPoolValue.cpp | 9 +-
lib/Target/ARM/ARMConstantPoolValue.h | 10 +-
lib/Target/ARM/ARMExpandPseudoInsts.cpp | 2 +-
lib/Target/ARM/ARMISelDAGToDAG.cpp | 357 ++-
lib/Target/ARM/ARMISelLowering.cpp | 291 +-
lib/Target/ARM/ARMISelLowering.h | 64 +-
lib/Target/ARM/ARMInstrFormats.td | 349 +-
lib/Target/ARM/ARMInstrInfo.td | 125 +-
lib/Target/ARM/ARMInstrNEON.td | 1757 +++++-----
lib/Target/ARM/ARMInstrThumb.td | 40 +-
lib/Target/ARM/ARMInstrThumb2.td | 136 +-
lib/Target/ARM/ARMInstrVFP.td | 146 +-
lib/Target/ARM/ARMJITInfo.cpp | 2 +-
lib/Target/ARM/ARMLoadStoreOptimizer.cpp | 270 +-
lib/Target/ARM/ARMMCAsmInfo.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 | 19 +-
lib/Target/ARM/ARMSubtarget.h | 19 +-
lib/Target/ARM/ARMTargetMachine.cpp | 12 +-
lib/Target/ARM/ARMTargetMachine.h | 16 +-
lib/Target/ARM/ARMTargetObjectFile.cpp | 39 +
lib/Target/ARM/ARMTargetObjectFile.h | 30 +-
lib/Target/ARM/Android.mk | 1 +
lib/Target/ARM/AsmParser/ARMAsmLexer.cpp | 140 +
lib/Target/ARM/AsmParser/ARMAsmParser.cpp | 225 +-
lib/Target/ARM/AsmParser/CMakeLists.txt | 1 +
lib/Target/ARM/AsmParser/Makefile | 2 +-
lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp | 635 ++--
lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp | 563 +++-
lib/Target/ARM/AsmPrinter/ARMInstPrinter.h | 120 +-
lib/Target/ARM/AsmPrinter/ARMMCInstLower.cpp | 5 +-
lib/Target/ARM/AsmPrinter/Makefile | 2 +-
lib/Target/ARM/CMakeLists.txt | 3 +
lib/Target/ARM/Disassembler/ARMDisassembler.cpp | 578 ++++
lib/Target/ARM/Disassembler/ARMDisassembler.h | 99 +
.../ARM/Disassembler/ARMDisassemblerCore.cpp | 3350 ++++++++++++++++++++
lib/Target/ARM/Disassembler/ARMDisassemblerCore.h | 262 ++
lib/Target/ARM/Disassembler/Makefile | 16 +
.../ARM/Disassembler/ThumbDisassemblerCore.h | 2248 +++++++++++++
lib/Target/ARM/Makefile | 5 +-
lib/Target/ARM/NEONPreAllocPass.cpp | 142 +-
lib/Target/ARM/README.txt | 3 +
lib/Target/ARM/Thumb1InstrInfo.cpp | 12 +-
lib/Target/ARM/Thumb1RegisterInfo.cpp | 32 +-
lib/Target/ARM/Thumb1RegisterInfo.h | 2 +-
lib/Target/ARM/Thumb2ITBlockPass.cpp | 8 +-
lib/Target/ARM/Thumb2InstrInfo.cpp | 66 +-
lib/Target/ARM/Thumb2RegisterInfo.cpp | 2 +-
lib/Target/ARM/Thumb2SizeReduction.cpp | 60 +-
lib/Target/Alpha/Alpha.td | 6 +-
lib/Target/Alpha/AlphaCodeEmitter.cpp | 11 +-
lib/Target/Alpha/AlphaISelDAGToDAG.cpp | 3 +-
lib/Target/Alpha/AlphaISelLowering.cpp | 42 +-
lib/Target/Alpha/AlphaISelLowering.h | 16 +-
lib/Target/Alpha/AlphaInstrFormats.td | 20 +-
lib/Target/Alpha/AlphaInstrInfo.cpp | 25 +-
lib/Target/Alpha/AlphaInstrInfo.td | 84 +-
lib/Target/Alpha/AlphaLLRP.cpp | 2 +-
lib/Target/Alpha/AlphaMachineFunctionInfo.h | 18 +-
lib/Target/Alpha/AlphaRegisterInfo.cpp | 22 +-
lib/Target/Alpha/AlphaRegisterInfo.h | 2 +-
lib/Target/Alpha/AlphaSchedule.td | 3 +-
lib/Target/Alpha/AlphaSelectionDAGInfo.cpp | 22 +
lib/Target/Alpha/AlphaSelectionDAGInfo.h | 29 +
lib/Target/Alpha/AlphaTargetMachine.h | 4 +-
lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp | 70 +-
lib/Target/Alpha/AsmPrinter/Makefile | 2 +-
lib/Target/Alpha/CMakeLists.txt | 1 +
.../Blackfin/AsmPrinter/BlackfinAsmPrinter.cpp | 59 +-
lib/Target/Blackfin/AsmPrinter/Makefile | 2 +-
lib/Target/Blackfin/BlackfinISelDAGToDAG.cpp | 1 -
lib/Target/Blackfin/BlackfinISelLowering.cpp | 21 +-
lib/Target/Blackfin/BlackfinISelLowering.h | 19 +-
lib/Target/Blackfin/BlackfinInstrInfo.cpp | 30 +-
lib/Target/Blackfin/BlackfinInstrInfo.td | 30 +-
lib/Target/Blackfin/BlackfinIntrinsicInfo.cpp | 4 +
lib/Target/Blackfin/BlackfinIntrinsics.td | 6 +-
lib/Target/Blackfin/BlackfinRegisterInfo.cpp | 15 +-
lib/Target/Blackfin/BlackfinRegisterInfo.h | 2 +-
lib/Target/Blackfin/BlackfinSelectionDAGInfo.cpp | 22 +
lib/Target/Blackfin/BlackfinSelectionDAGInfo.h | 29 +
lib/Target/Blackfin/BlackfinTargetMachine.h | 4 +-
lib/Target/Blackfin/CMakeLists.txt | 1 +
lib/Target/CBackend/CBackend.cpp | 59 +-
lib/Target/CellSPU/AsmPrinter/CMakeLists.txt | 2 +-
lib/Target/CellSPU/AsmPrinter/Makefile | 2 +-
lib/Target/CellSPU/AsmPrinter/SPUAsmPrinter.cpp | 135 +-
lib/Target/CellSPU/CMakeLists.txt | 1 +
lib/Target/CellSPU/CellSDKIntrinsics.td | 7 +-
lib/Target/CellSPU/SPU.h | 67 -
lib/Target/CellSPU/SPU64InstrInfo.td | 9 +-
lib/Target/CellSPU/SPUISelDAGToDAG.cpp | 56 +-
lib/Target/CellSPU/SPUISelLowering.cpp | 104 +-
lib/Target/CellSPU/SPUISelLowering.h | 10 +-
lib/Target/CellSPU/SPUInstrInfo.cpp | 23 +-
lib/Target/CellSPU/SPUInstrInfo.td | 89 +-
lib/Target/CellSPU/SPUMCAsmInfo.cpp | 1 -
lib/Target/CellSPU/SPUMachineFunction.h | 8 +-
lib/Target/CellSPU/SPUMathInstr.td | 6 +-
lib/Target/CellSPU/SPUNodes.td | 5 +-
lib/Target/CellSPU/SPUOperands.td | 11 +
lib/Target/CellSPU/SPURegisterInfo.cpp | 133 +-
lib/Target/CellSPU/SPURegisterInfo.h | 21 +-
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 | 2 +-
lib/Target/MBlaze/AsmPrinter/CMakeLists.txt | 2 +-
lib/Target/MBlaze/AsmPrinter/MBlazeAsmPrinter.cpp | 194 +-
lib/Target/MBlaze/AsmPrinter/Makefile | 2 +-
lib/Target/MBlaze/CMakeLists.txt | 1 +
lib/Target/MBlaze/MBlaze.td | 6 +-
lib/Target/MBlaze/MBlazeISelDAGToDAG.cpp | 1 -
lib/Target/MBlaze/MBlazeISelLowering.cpp | 41 +-
lib/Target/MBlaze/MBlazeISelLowering.h | 25 +-
lib/Target/MBlaze/MBlazeInstrInfo.cpp | 18 +-
lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp | 4 +
lib/Target/MBlaze/MBlazeIntrinsics.td | 4 +-
lib/Target/MBlaze/MBlazeMachineFunction.h | 8 +-
lib/Target/MBlaze/MBlazeRegisterInfo.cpp | 15 +-
lib/Target/MBlaze/MBlazeRegisterInfo.h | 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 +-
lib/Target/MSIL/MSILWriter.cpp | 2 +-
lib/Target/MSP430/AsmPrinter/MSP430AsmPrinter.cpp | 71 +-
lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.cpp | 13 +-
lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.h | 19 +-
lib/Target/MSP430/AsmPrinter/MSP430MCInstLower.cpp | 5 +-
lib/Target/MSP430/AsmPrinter/Makefile | 2 +-
lib/Target/MSP430/CMakeLists.txt | 1 +
lib/Target/MSP430/MSP430.td | 9 +-
lib/Target/MSP430/MSP430ISelDAGToDAG.cpp | 11 +-
lib/Target/MSP430/MSP430ISelLowering.cpp | 48 +-
lib/Target/MSP430/MSP430ISelLowering.h | 34 +-
lib/Target/MSP430/MSP430InstrFormats.td | 8 +-
lib/Target/MSP430/MSP430InstrInfo.cpp | 24 +-
lib/Target/MSP430/MSP430RegisterInfo.cpp | 7 +-
lib/Target/MSP430/MSP430RegisterInfo.h | 2 +-
lib/Target/MSP430/MSP430SelectionDAGInfo.cpp | 22 +
lib/Target/MSP430/MSP430SelectionDAGInfo.h | 29 +
lib/Target/MSP430/MSP430TargetMachine.h | 4 +-
lib/Target/Mangler.cpp | 88 +-
lib/Target/Mips/AsmPrinter/CMakeLists.txt | 2 +-
lib/Target/Mips/AsmPrinter/Makefile | 2 +-
lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp | 144 +-
lib/Target/Mips/CMakeLists.txt | 1 +
lib/Target/Mips/Mips.td | 5 +-
lib/Target/Mips/MipsISelDAGToDAG.cpp | 1 -
lib/Target/Mips/MipsISelLowering.cpp | 50 +-
lib/Target/Mips/MipsISelLowering.h | 35 +-
lib/Target/Mips/MipsInstrFPU.td | 14 +-
lib/Target/Mips/MipsInstrInfo.cpp | 25 +-
lib/Target/Mips/MipsInstrInfo.td | 3 +-
lib/Target/Mips/MipsMachineFunction.h | 9 +-
lib/Target/Mips/MipsRegisterInfo.cpp | 7 +-
lib/Target/Mips/MipsRegisterInfo.h | 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/Makefile | 2 +-
lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.cpp | 160 +-
lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.h | 20 +-
lib/Target/PIC16/CMakeLists.txt | 1 +
lib/Target/PIC16/PIC16.h | 36 +-
lib/Target/PIC16/PIC16DebugInfo.cpp | 59 +-
lib/Target/PIC16/PIC16DebugInfo.h | 9 +-
lib/Target/PIC16/PIC16ISelDAGToDAG.h | 11 +-
lib/Target/PIC16/PIC16ISelLowering.cpp | 148 +-
lib/Target/PIC16/PIC16ISelLowering.h | 99 +-
lib/Target/PIC16/PIC16InstrInfo.cpp | 29 +-
lib/Target/PIC16/PIC16MachineFunctionInfo.h | 52 +
lib/Target/PIC16/PIC16Passes/PIC16Cloner.cpp | 2 +-
lib/Target/PIC16/PIC16RegisterInfo.cpp | 2 +-
lib/Target/PIC16/PIC16RegisterInfo.h | 2 +-
lib/Target/PIC16/PIC16Section.cpp | 18 +-
lib/Target/PIC16/PIC16Section.h | 19 +-
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 +-
lib/Target/PowerPC/AsmPrinter/Makefile | 2 +-
lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp | 460 +--
lib/Target/PowerPC/CMakeLists.txt | 1 +
lib/Target/PowerPC/PPC.td | 8 -
lib/Target/PowerPC/PPCBranchSelector.cpp | 2 +-
lib/Target/PowerPC/PPCCodeEmitter.cpp | 8 +-
lib/Target/PowerPC/PPCISelDAGToDAG.cpp | 29 +-
lib/Target/PowerPC/PPCISelLowering.cpp | 203 +-
lib/Target/PowerPC/PPCISelLowering.h | 108 +-
lib/Target/PowerPC/PPCInstrAltivec.td | 31 +-
lib/Target/PowerPC/PPCInstrFormats.td | 11 +-
lib/Target/PowerPC/PPCInstrInfo.cpp | 41 +-
lib/Target/PowerPC/PPCInstrInfo.h | 6 +
lib/Target/PowerPC/PPCInstrInfo.td | 16 +-
lib/Target/PowerPC/PPCMCAsmInfo.cpp | 2 -
lib/Target/PowerPC/PPCMachineFunctionInfo.h | 30 +-
lib/Target/PowerPC/PPCRegisterInfo.cpp | 88 +-
lib/Target/PowerPC/PPCRegisterInfo.h | 2 +-
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.cpp | 2 +-
lib/Target/PowerPC/PPCTargetMachine.h | 4 +-
lib/Target/README.txt | 42 +-
lib/Target/Sparc/AsmPrinter/CMakeLists.txt | 2 +-
lib/Target/Sparc/AsmPrinter/Makefile | 2 +-
lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp | 72 +-
lib/Target/Sparc/CMakeLists.txt | 1 +
lib/Target/Sparc/DelaySlotFiller.cpp | 2 +-
lib/Target/Sparc/Sparc.td | 6 +-
lib/Target/Sparc/SparcISelDAGToDAG.cpp | 2 -
lib/Target/Sparc/SparcISelLowering.cpp | 35 +-
lib/Target/Sparc/SparcISelLowering.h | 15 +-
lib/Target/Sparc/SparcInstrInfo.cpp | 10 +-
lib/Target/Sparc/SparcInstrInfo.td | 4 +-
lib/Target/Sparc/SparcMCAsmInfo.cpp | 1 -
lib/Target/Sparc/SparcMachineFunctionInfo.h | 12 +-
lib/Target/Sparc/SparcRegisterInfo.cpp | 5 +-
lib/Target/Sparc/SparcRegisterInfo.h | 2 +-
lib/Target/Sparc/SparcSelectionDAGInfo.cpp | 22 +
lib/Target/Sparc/SparcSelectionDAGInfo.h | 29 +
lib/Target/Sparc/SparcTargetMachine.h | 4 +-
lib/Target/SystemZ/AsmPrinter/Makefile | 2 +-
.../SystemZ/AsmPrinter/SystemZAsmPrinter.cpp | 81 +-
lib/Target/SystemZ/CMakeLists.txt | 1 +
lib/Target/SystemZ/SystemZISelDAGToDAG.cpp | 5 +-
lib/Target/SystemZ/SystemZISelLowering.cpp | 34 +-
lib/Target/SystemZ/SystemZISelLowering.h | 26 +-
lib/Target/SystemZ/SystemZInstrBuilder.h | 2 +-
lib/Target/SystemZ/SystemZInstrFP.td | 12 +-
lib/Target/SystemZ/SystemZInstrInfo.cpp | 22 +-
lib/Target/SystemZ/SystemZInstrInfo.td | 69 +-
lib/Target/SystemZ/SystemZMCAsmInfo.cpp | 8 +-
lib/Target/SystemZ/SystemZMCAsmInfo.h | 2 +-
lib/Target/SystemZ/SystemZOperands.td | 4 +
lib/Target/SystemZ/SystemZRegisterInfo.cpp | 12 +-
lib/Target/SystemZ/SystemZRegisterInfo.h | 2 +-
lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp | 22 +
lib/Target/SystemZ/SystemZSelectionDAGInfo.h | 29 +
lib/Target/SystemZ/SystemZTargetMachine.h | 4 +-
lib/Target/TargetData.cpp | 58 +-
lib/Target/TargetLoweringObjectFile.cpp | 45 +-
lib/Target/TargetMachine.cpp | 45 +-
lib/Target/X86/Android.mk | 2 +-
lib/Target/X86/AsmParser/Makefile | 2 +-
lib/Target/X86/AsmParser/X86AsmParser.cpp | 85 +-
lib/Target/X86/AsmPrinter/Makefile | 2 +-
lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp | 30 +-
lib/Target/X86/AsmPrinter/X86ATTInstPrinter.h | 69 +-
lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp | 245 +-
lib/Target/X86/AsmPrinter/X86AsmPrinter.h | 83 +-
lib/Target/X86/AsmPrinter/X86IntelInstPrinter.cpp | 30 +-
lib/Target/X86/AsmPrinter/X86IntelInstPrinter.h | 71 +-
lib/Target/X86/AsmPrinter/X86MCInstLower.cpp | 203 +-
lib/Target/X86/CMakeLists.txt | 4 +-
lib/Target/X86/Disassembler/CMakeLists.txt | 7 +
lib/Target/X86/Disassembler/Makefile | 2 +-
lib/Target/X86/Disassembler/X86Disassembler.cpp | 169 +-
lib/Target/X86/Disassembler/X86Disassembler.h | 5 +
.../X86/Disassembler/X86DisassemblerDecoder.c | 175 +-
.../X86/Disassembler/X86DisassemblerDecoder.h | 11 +
.../Disassembler/X86DisassemblerDecoderCommon.h | 1 +
lib/Target/X86/SSEDomainFix.cpp | 508 +++
lib/Target/X86/TargetInfo/Makefile | 2 +-
lib/Target/X86/X86.h | 15 +-
lib/Target/X86/X86.td | 47 +-
lib/Target/X86/X86AsmBackend.cpp | 248 +-
lib/Target/X86/X86COFFMachineModuleInfo.cpp | 73 +-
lib/Target/X86/X86COFFMachineModuleInfo.h | 15 +-
lib/Target/X86/X86CallingConv.td | 22 +
lib/Target/X86/X86CodeEmitter.cpp | 34 +-
lib/Target/X86/X86ELFWriterInfo.cpp | 1 -
lib/Target/X86/X86FastISel.cpp | 232 +-
lib/Target/X86/X86FixupKinds.h | 3 +-
lib/Target/X86/X86FloatingPointRegKill.cpp | 2 +-
lib/Target/X86/X86ISelDAGToDAG.cpp | 160 +-
lib/Target/X86/X86ISelLowering.cpp | 884 ++++--
lib/Target/X86/X86ISelLowering.h | 220 +-
lib/Target/X86/X86Instr64bit.td | 574 ++--
lib/Target/X86/X86InstrBuilder.h | 2 +-
lib/Target/X86/X86InstrFPStack.td | 25 +-
lib/Target/X86/X86InstrFormats.td | 96 +-
lib/Target/X86/X86InstrInfo.cpp | 181 +-
lib/Target/X86/X86InstrInfo.h | 22 +-
lib/Target/X86/X86InstrInfo.td | 1282 +++-----
lib/Target/X86/X86InstrMMX.td | 33 +-
lib/Target/X86/X86InstrSSE.td | 315 +-
lib/Target/X86/X86JITInfo.cpp | 7 +
lib/Target/X86/X86MCAsmInfo.cpp | 18 +-
lib/Target/X86/X86MCAsmInfo.h | 2 +-
lib/Target/X86/X86MCCodeEmitter.cpp | 28 +-
lib/Target/X86/X86MCTargetExpr.cpp | 48 -
lib/Target/X86/X86MCTargetExpr.h | 49 -
lib/Target/X86/X86MachineFunctionInfo.h | 44 +-
lib/Target/X86/X86RegisterInfo.cpp | 156 +-
lib/Target/X86/X86RegisterInfo.h | 4 +-
lib/Target/X86/X86RegisterInfo.td | 45 +-
lib/Target/X86/X86SelectionDAGInfo.cpp | 22 +
lib/Target/X86/X86SelectionDAGInfo.h | 29 +
lib/Target/X86/X86Subtarget.cpp | 28 +-
lib/Target/X86/X86Subtarget.h | 23 +-
lib/Target/X86/X86TargetMachine.cpp | 12 +-
lib/Target/X86/X86TargetMachine.h | 5 +-
lib/Target/X86/X86TargetObjectFile.cpp | 16 +-
lib/Target/X86/X86TargetObjectFile.h | 10 +-
lib/Target/XCore/AsmPrinter/Makefile | 2 +-
lib/Target/XCore/AsmPrinter/XCoreAsmPrinter.cpp | 185 +-
lib/Target/XCore/CMakeLists.txt | 2 +-
lib/Target/XCore/MCSectionXCore.cpp | 35 -
lib/Target/XCore/MCSectionXCore.h | 54 -
lib/Target/XCore/README.txt | 1 -
lib/Target/XCore/XCore.td | 5 +-
lib/Target/XCore/XCoreISelDAGToDAG.cpp | 44 +-
lib/Target/XCore/XCoreISelLowering.cpp | 395 ++-
lib/Target/XCore/XCoreISelLowering.h | 69 +-
lib/Target/XCore/XCoreInstrInfo.cpp | 41 +-
lib/Target/XCore/XCoreInstrInfo.td | 5 +-
lib/Target/XCore/XCoreMCAsmInfo.cpp | 1 -
lib/Target/XCore/XCoreMachineFunctionInfo.h | 4 +-
lib/Target/XCore/XCoreRegisterInfo.cpp | 98 +-
lib/Target/XCore/XCoreRegisterInfo.h | 2 +-
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/Android.mk | 48 +
lib/Transforms/IPO/ArgumentPromotion.cpp | 38 +-
lib/Transforms/IPO/CMakeLists.txt | 2 +
lib/Transforms/IPO/DeadArgumentElimination.cpp | 112 +-
lib/Transforms/IPO/FunctionAttrs.cpp | 44 +-
lib/Transforms/IPO/GlobalOpt.cpp | 285 +-
lib/Transforms/IPO/IPO.cpp | 9 +
lib/Transforms/IPO/InlineAlways.cpp | 5 +-
lib/Transforms/IPO/InlineSimple.cpp | 3 +
lib/Transforms/IPO/Inliner.cpp | 54 +-
lib/Transforms/IPO/Internalize.cpp | 4 +
lib/Transforms/IPO/MergeFunctions.cpp | 6 +-
lib/Transforms/IPO/PartialInlining.cpp | 10 +-
lib/Transforms/IPO/PruneEH.cpp | 31 +-
lib/Transforms/IPO/StructRetPromotion.cpp | 10 +-
lib/Transforms/InstCombine/Android.mk | 38 +
lib/Transforms/InstCombine/InstCombineAndOrXor.cpp | 14 +-
lib/Transforms/InstCombine/InstCombineCalls.cpp | 183 +-
lib/Transforms/InstCombine/InstCombineCasts.cpp | 2 +-
lib/Transforms/InstCombine/InstCombineCompares.cpp | 2 +-
lib/Transforms/InstCombine/InstCombineSelect.cpp | 44 +-
lib/Transforms/Makefile | 2 +-
lib/Transforms/Scalar/ABCD.cpp | 253 +-
lib/Transforms/Scalar/Android.mk | 1 -
lib/Transforms/Scalar/CMakeLists.txt | 1 -
lib/Transforms/Scalar/CodeGenPrepare.cpp | 56 +-
lib/Transforms/Scalar/GVN.cpp | 22 +-
lib/Transforms/Scalar/IndVarSimplify.cpp | 534 +++-
lib/Transforms/Scalar/JumpThreading.cpp | 4 +-
lib/Transforms/Scalar/LICM.cpp | 8 +-
lib/Transforms/Scalar/LoopStrengthReduce.cpp | 327 +-
lib/Transforms/Scalar/LoopUnrollPass.cpp | 1 -
lib/Transforms/Scalar/LoopUnswitch.cpp | 281 +-
lib/Transforms/Scalar/MemCpyOptimizer.cpp | 55 +-
lib/Transforms/Scalar/Reg2Mem.cpp | 9 +-
lib/Transforms/Scalar/SCCP.cpp | 95 +-
lib/Transforms/Scalar/SCCVN.cpp | 716 -----
lib/Transforms/Scalar/Scalar.cpp | 11 +
lib/Transforms/Scalar/ScalarReplAggregates.cpp | 2823 +++++++++--------
lib/Transforms/Scalar/SimplifyCFGPass.cpp | 17 +-
lib/Transforms/Scalar/SimplifyHalfPowrLibCalls.cpp | 3 +-
lib/Transforms/Scalar/SimplifyLibCalls.cpp | 63 +-
lib/Transforms/Scalar/TailRecursionElimination.cpp | 30 +-
lib/Transforms/Utils/AddrModeMatcher.cpp | 15 +-
lib/Transforms/Utils/Android.mk | 1 +
lib/Transforms/Utils/BasicBlockUtils.cpp | 22 +-
lib/Transforms/Utils/BasicInliner.cpp | 3 +-
lib/Transforms/Utils/BreakCriticalEdges.cpp | 2 +-
lib/Transforms/Utils/BuildLibCalls.cpp | 219 +-
lib/Transforms/Utils/CloneFunction.cpp | 8 +-
lib/Transforms/Utils/CloneModule.cpp | 2 +-
lib/Transforms/Utils/CodeExtractor.cpp | 2 +-
lib/Transforms/Utils/InlineFunction.cpp | 79 +-
lib/Transforms/Utils/LCSSA.cpp | 4 +-
lib/Transforms/Utils/LoopSimplify.cpp | 6 +-
lib/Transforms/Utils/LoopUnroll.cpp | 14 +-
lib/Transforms/Utils/LowerInvoke.cpp | 52 +-
lib/Transforms/Utils/PromoteMemoryToRegister.cpp | 2 +-
lib/Transforms/Utils/SSAUpdater.cpp | 619 ++--
lib/Transforms/Utils/SimplifyCFG.cpp | 12 +-
lib/Transforms/Utils/ValueMapper.cpp | 6 +-
.../llvm => lib}/Transforms/Utils/ValueMapper.h | 6 +-
lib/VMCore/Android.mk | 2 +
lib/VMCore/AsmWriter.cpp | 34 +-
lib/VMCore/AutoUpgrade.cpp | 205 ++
lib/VMCore/BasicBlock.cpp | 11 +
lib/VMCore/CMakeLists.txt | 2 +
lib/VMCore/Constants.cpp | 48 +-
lib/VMCore/ConstantsContext.h | 55 +-
lib/VMCore/Core.cpp | 13 +-
lib/VMCore/DebugLoc.cpp | 288 ++
lib/VMCore/Dominators.cpp | 8 +-
lib/VMCore/Function.cpp | 18 +-
lib/VMCore/Globals.cpp | 4 +-
lib/VMCore/IRBuilder.cpp | 13 -
lib/VMCore/InlineAsm.cpp | 25 +-
lib/VMCore/Instruction.cpp | 2 +-
lib/VMCore/Instructions.cpp | 88 +-
lib/VMCore/IntrinsicInst.cpp | 3 +-
lib/VMCore/LLVMContext.cpp | 110 +-
lib/VMCore/LLVMContextImpl.cpp | 107 +
lib/VMCore/LLVMContextImpl.h | 122 +-
lib/VMCore/LeaksContext.h | 5 +-
lib/VMCore/Makefile | 2 +-
lib/VMCore/Metadata.cpp | 168 +-
lib/VMCore/Module.cpp | 2 +-
lib/VMCore/Pass.cpp | 42 +-
lib/VMCore/PassManager.cpp | 142 +-
lib/VMCore/PrintModulePass.cpp | 12 +-
lib/VMCore/Type.cpp | 23 +-
lib/VMCore/TypeSymbolTable.cpp | 6 +-
lib/VMCore/Value.cpp | 6 +-
lib/VMCore/ValueSymbolTable.cpp | 10 +-
lib/VMCore/Verifier.cpp | 97 +-
llvm-device-build.mk | 6 +-
llvm-host-build.mk | 10 +-
runtime/Makefile | 2 +-
runtime/libprofile/exported_symbols.lst | 1 -
test/Analysis/BasicAA/cas.ll | 2 +-
test/Analysis/BasicAA/empty.ll | 10 +
test/Analysis/BasicAA/modref.ll | 4 +-
test/Analysis/CallGraph/2008-09-09-DirectCall.ll | 2 +-
test/Analysis/CallGraph/2008-09-09-UsedByGlobal.ll | 3 +-
.../ScalarEvolution/2008-11-18-LessThanOrEqual.ll | 1 -
.../Analysis/ScalarEvolution/2008-11-18-Stride2.ll | 3 +
.../ScalarEvolution/2008-12-08-FiniteSGE.ll | 1 -
.../ScalarEvolution/2008-12-11-SMaxOverflow.ll | 6 +-
test/Analysis/ScalarEvolution/sle.ll | 27 +
test/Analysis/ScalarEvolution/undefined.ll | 39 +
test/Analysis/ScalarEvolution/unreachable-code.ll | 13 +
test/Analysis/ScalarEvolution/unsimplified-loop.ll | 29 +
test/Assembler/metadata.ll | 2 +-
test/Bitcode/memcpy.ll | 2 +
test/Bitcode/sse41_pmulld.ll | 2 +
test/Bitcode/sse41_pmulld.ll.bc | Bin 0 -> 560 bytes
test/Bitcode/ssse3_palignr.ll | 1 +
test/Bitcode/ssse3_palignr.ll.bc | Bin 0 -> 1280 bytes
test/CMakeLists.txt | 17 +
test/CodeGen/ARM/2009-08-31-LSDA-Name.ll | 2 +-
test/CodeGen/ARM/2009-10-27-double-align.ll | 4 +-
test/CodeGen/ARM/2009-10-30.ll | 2 +-
test/CodeGen/ARM/2010-03-18-ldm-rtrn.ll | 13 +
.../CodeGen/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 +
test/CodeGen/ARM/2010-04-15-ScavengerDebugValue.ll | 26 +
test/CodeGen/ARM/arguments7.ll | 2 +-
test/CodeGen/ARM/arguments8.ll | 2 +-
test/CodeGen/ARM/arm-negative-stride.ll | 2 +-
test/CodeGen/ARM/bfx.ll | 28 +
test/CodeGen/ARM/fabss.ll | 3 +-
test/CodeGen/ARM/fadds.ll | 3 +-
test/CodeGen/ARM/fdivs.ll | 3 +-
test/CodeGen/ARM/fmacs.ll | 3 +-
test/CodeGen/ARM/fmscs.ll | 3 +-
test/CodeGen/ARM/fmuls.ll | 3 +-
test/CodeGen/ARM/fnegs.ll | 3 +-
test/CodeGen/ARM/fnmacs.ll | 4 +-
test/CodeGen/ARM/fnmscs.ll | 3 +-
test/CodeGen/ARM/fp16.ll | 32 +
test/CodeGen/ARM/fp_convert.ll | 3 +-
test/CodeGen/ARM/fsubs.ll | 4 +-
test/CodeGen/ARM/globals.ll | 32 +-
test/CodeGen/ARM/hidden-vis-3.ll | 4 +-
test/CodeGen/ARM/ifcvt5.ll | 2 +-
test/CodeGen/ARM/ifcvt6.ll | 2 +-
test/CodeGen/ARM/ifcvt7.ll | 2 +-
test/CodeGen/ARM/ifcvt8.ll | 2 +-
test/CodeGen/ARM/indirectbr.ll | 10 +-
test/CodeGen/ARM/ldm.ll | 2 +-
test/CodeGen/ARM/ldrd.ll | 4 +-
test/CodeGen/ARM/sbfx.ll | 2 +-
test/CodeGen/ARM/str_pre-2.ll | 2 +-
test/CodeGen/ARM/tls2.ll | 4 +-
test/CodeGen/ARM/vld1.ll | 24 +-
test/CodeGen/ARM/vld2.ll | 21 +-
test/CodeGen/ARM/vld3.ll | 21 +-
test/CodeGen/ARM/vld4.ll | 21 +-
test/CodeGen/ARM/vldlane.ll | 54 +-
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 +-
.../Alpha/2010-04-07-DbgValueOtherTargets.ll | 33 +
test/CodeGen/Blackfin/jumptable.ll | 4 +-
.../CellSPU/2010-04-07-DbgValueOtherTargets.ll | 33 +
test/CodeGen/CellSPU/bigstack.ll | 17 +
test/CodeGen/CellSPU/bss.ll | 10 +-
test/CodeGen/CellSPU/crash.ll | 8 +
.../Generic/2007-04-13-SwitchLowerBadPhi.ll | 3 -
.../Generic/2007-11-21-UndeadIllegalNode.ll | 2 -
test/CodeGen/Generic/2007-12-17-InvokeAsm.ll | 2 -
test/CodeGen/Generic/2007-12-31-UnusedSelector.ll | 2 -
.../Generic/2008-08-07-PtrToInt-SmallerInt.ll | 2 -
test/CodeGen/Generic/2009-11-16-BadKillsCrash.ll | 2 -
test/CodeGen/Generic/2010-ZeroSizedArg.ll | 17 +
test/CodeGen/Generic/GC/redundant_init.ll | 17 -
test/CodeGen/Generic/addr-label.ll | 81 +
test/CodeGen/Generic/crash.ll | 8 +
test/CodeGen/Generic/dbg_value.ll | 13 +
.../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/Mips/2009-11-16-CstPoolLoad.ll | 4 +-
.../Mips/2010-04-07-DbgValueOtherTargets.ll | 33 +
test/CodeGen/PIC16/2009-07-17-PR4566-pic16.ll | 1 +
test/CodeGen/PIC16/C16-15.ll | 1 +
test/CodeGen/PIC16/global-in-user-section.ll | 1 +
test/CodeGen/PIC16/globals.ll | 1 +
test/CodeGen/PIC16/sext.ll | 1 +
test/CodeGen/PowerPC/2008-01-25-EmptyFunction.ll | 2 +-
test/CodeGen/PowerPC/2008-10-31-PPCF128Libcalls.ll | 7 +
test/CodeGen/PowerPC/2010-02-04-EmptyGlobal.ll | 11 +-
test/CodeGen/PowerPC/2010-03-09-indirect-call.ll | 19 +
test/CodeGen/PowerPC/2010-04-01-MachineCSEBug.ll | 70 +
.../PowerPC/2010-04-07-DbgValueOtherTargets.ll | 33 +
test/CodeGen/PowerPC/eqv-andc-orc-nor.ll | 24 +-
test/CodeGen/PowerPC/indirectbr.ll | 14 +-
test/CodeGen/PowerPC/ppc-prologue.ll | 4 +-
test/CodeGen/PowerPC/rlwimi-keep-rsh.ll | 2 +-
test/CodeGen/PowerPC/tango.net.ftp.FtpClient.ll | 4 +-
.../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 +-
test/CodeGen/SystemZ/2009-07-11-FloatBitConvert.ll | 2 +-
.../SystemZ/2010-04-07-DbgValueOtherTargets.ll | 33 +
test/CodeGen/Thumb/2009-08-20-ISelBug.ll | 2 +-
.../Thumb/2010-04-07-DbgValueOtherTargets.ll | 33 +
test/CodeGen/Thumb/machine-licm.ll | 8 +-
test/CodeGen/Thumb2/2009-08-04-CoalescerBug.ll | 2 +-
test/CodeGen/Thumb2/2009-08-04-ScavengerAssert.ll | 2 +-
.../CodeGen/Thumb2/2009-08-04-SubregLoweringBug.ll | 4 +-
.../Thumb2/2009-08-04-SubregLoweringBug2.ll | 2 +-
.../Thumb2/2009-08-04-SubregLoweringBug3.ll | 2 +-
test/CodeGen/Thumb2/2009-08-07-NeonFPBug.ll | 2 +-
test/CodeGen/Thumb2/2009-10-15-ITBlockBranch.ll | 4 +-
test/CodeGen/Thumb2/2010-03-08-addi12-ccout.ll | 266 ++
test/CodeGen/Thumb2/2010-03-15-AsmCCClobber.ll | 63 +
test/CodeGen/Thumb2/2010-04-15-DynAllocBug.ll | 23 +
test/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/large-stack.ll | 2 +-
test/CodeGen/Thumb2/ldr-str-imm12.ll | 8 +-
test/CodeGen/Thumb2/load-global.ll | 2 +-
test/CodeGen/Thumb2/lsr-deficiency.ll | 2 +-
test/CodeGen/Thumb2/machine-licm.ll | 20 +-
test/CodeGen/Thumb2/thumb2-ifcvt3.ll | 2 +-
test/CodeGen/Thumb2/thumb2-ldr.ll | 2 +-
test/CodeGen/Thumb2/thumb2-ldrh.ll | 2 +-
test/CodeGen/Thumb2/thumb2-str.ll | 2 +-
test/CodeGen/Thumb2/thumb2-str_pre.ll | 4 +-
test/CodeGen/Thumb2/thumb2-strb.ll | 2 +-
test/CodeGen/Thumb2/thumb2-strh.ll | 2 +-
test/CodeGen/X86/2004-03-30-Select-Max.ll | 4 +-
test/CodeGen/X86/2007-01-08-InstrSched.ll | 16 +-
test/CodeGen/X86/2007-01-13-StackPtrIndex.ll | 1 -
.../{Generic => X86}/2007-02-16-BranchFold.ll | 0
test/CodeGen/X86/2007-04-25-MMX-PADDQ.ll | 10 +-
.../{Generic => X86}/2007-05-05-Personality.ll | 0
test/CodeGen/X86/2007-10-16-IllegalAsm.ll | 272 --
test/CodeGen/X86/2008-01-25-EmptyFunction.ll | 2 +-
test/CodeGen/X86/2008-08-05-SpillerBug.ll | 2 +-
test/CodeGen/X86/2008-10-16-SpillerBug.ll | 7 +-
test/CodeGen/X86/2008-12-19-EarlyClobberBug.ll | 2 +-
test/CodeGen/X86/2009-02-05-CoalescerBug.ll | 6 +-
test/CodeGen/X86/2009-02-26-MachineLICMBug.ll | 11 +-
test/CodeGen/X86/2009-03-13-PHIElimBug.ll | 2 +-
test/CodeGen/X86/2009-03-16-PHIElimInLPad.ll | 2 +-
test/CodeGen/X86/2009-05-28-DAGCombineCrash.ll | 33 +-
test/CodeGen/X86/2009-08-06-inlineasm.ll | 10 +-
test/CodeGen/X86/2009-11-16-MachineLICM.ll | 2 +-
test/CodeGen/X86/2009-11-16-UnfoldMemOpBug.ll | 4 +-
test/CodeGen/X86/2010-01-08-Atomic64Bug.ll | 2 +-
test/CodeGen/X86/2010-03-17-ISelBug.ll | 39 +
test/CodeGen/X86/2010-04-06-SSEDomainFixCrash.ll | 64 +
.../CodeGen/X86/2010-04-07-DbgValueOtherTargets.ll | 34 +
test/CodeGen/X86/2010-04-08-CoalescerBug.ll | 26 +
test/CodeGen/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/{Generic => X86}/GC/alloc_loop.ll | 0
test/CodeGen/{Generic => X86}/GC/argpromotion.ll | 0
test/CodeGen/{Generic => X86}/GC/badreadproto.ll | 0
test/CodeGen/{Generic => X86}/GC/badrootproto.ll | 0
test/CodeGen/{Generic => X86}/GC/badwriteproto.ll | 0
test/CodeGen/{Generic => X86}/GC/deadargelim.ll | 0
test/CodeGen/{Generic => X86}/GC/dg.exp | 0
test/CodeGen/{Generic => X86}/GC/fat.ll | 0
test/CodeGen/{Generic => X86}/GC/inline.ll | 0
test/CodeGen/{Generic => X86}/GC/inline2.ll | 0
test/CodeGen/{Generic => X86}/GC/lower_gcroot.ll | 0
test/CodeGen/{Generic => X86}/GC/outside.ll | 0
test/CodeGen/{Generic => X86}/GC/simple_ocaml.ll | 0
test/CodeGen/X86/MachineSink-CritEdge.ll | 58 +
test/CodeGen/X86/abi-isel.ll | 976 +++---
test/CodeGen/X86/aliases.ll | 4 +-
test/CodeGen/X86/alignment.ll | 18 +
test/CodeGen/X86/avoid-loop-align.ll | 4 +-
test/CodeGen/X86/brcond.ll | 45 +-
test/CodeGen/X86/byval7.ll | 9 +-
test/CodeGen/X86/clz.ll | 13 +-
test/CodeGen/X86/coalesce-esp.ll | 2 +-
test/CodeGen/X86/const-select.ll | 2 +-
test/CodeGen/X86/constant-pool-sharing.ll | 2 +-
test/CodeGen/X86/crash.ll | 112 +
test/CodeGen/X86/dagcombine-buildvector.ll | 10 +-
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/gather-addresses.ll | 40 +
test/CodeGen/X86/ghc-cc.ll | 45 +
test/CodeGen/X86/ghc-cc64.ll | 86 +
test/CodeGen/X86/global-sections.ll | 10 +
test/CodeGen/X86/licm-symbol.ll | 2 +-
test/CodeGen/X86/liveness-local-regalloc.ll | 60 +
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 | 26 +-
test/CodeGen/X86/machine-cse.ll | 39 +
test/CodeGen/X86/memcpy-2.ll | 172 +-
test/CodeGen/X86/memcpy.ll | 4 +-
test/CodeGen/X86/memset-2.ll | 54 +-
test/CodeGen/X86/memset-3.ll | 12 +
test/CodeGen/X86/memset64-on-x86-32.ll | 5 +-
test/CodeGen/X86/multiple-loop-post-inc.ll | 304 ++
test/CodeGen/X86/object-size.ll | 2 +-
test/CodeGen/X86/optimize-max-3.ll | 32 +
test/CodeGen/X86/or-address.ll | 90 +
test/CodeGen/X86/personality.ll | 6 +-
test/CodeGen/X86/phys_subreg_coalesce-3.ll | 35 +
test/CodeGen/X86/pic.ll | 96 +-
test/CodeGen/X86/pic_jumptable.ll | 9 +-
test/CodeGen/X86/pmul.ll | 2 +-
test/CodeGen/X86/pmulld.ll | 16 +
test/CodeGen/X86/postalloc-coalescing.ll | 2 +-
test/CodeGen/X86/postra-licm.ll | 185 ++
test/CodeGen/X86/pr2659.ll | 6 +
test/CodeGen/X86/pre-split6.ll | 2 +-
test/CodeGen/X86/{tailcall2.ll => sibcall.ll} | 101 +-
test/CodeGen/X86/sink-hoist.ll | 6 +-
test/CodeGen/X86/small-byval-memcpy.ll | 6 +-
test/CodeGen/X86/sse-align-12.ll | 22 +-
test/CodeGen/X86/sse-align-6.ll | 2 +-
test/CodeGen/X86/sse2.ll | 8 +-
test/CodeGen/X86/sse3.ll | 18 +-
test/CodeGen/X86/sse41.ll | 4 +-
test/CodeGen/X86/sse42.ll | 12 +-
test/CodeGen/X86/stack-color-with-reg.ll | 3 +-
test/CodeGen/X86/store-narrow.ll | 127 +
test/CodeGen/X86/tail-opts.ll | 30 +-
test/CodeGen/X86/tailcall-largecode.ll | 8 +-
test/CodeGen/X86/tailcallfp2.ll | 2 +-
test/CodeGen/X86/unaligned-load.ll | 23 +-
test/CodeGen/X86/unreachable-loop-sinking.ll | 30 +
test/CodeGen/X86/vec_compare.ll | 6 +-
.../X86/{vec_insert_4.ll => vec_insert-4.ll} | 0
test/CodeGen/X86/vec_insert-9.ll | 9 +
test/CodeGen/X86/vec_return.ll | 2 +-
test/CodeGen/X86/vec_set.ll | 2 +-
test/CodeGen/X86/vec_shuffle-36.ll | 2 +-
test/CodeGen/X86/vec_shuffle-7.ll | 2 +-
test/CodeGen/X86/vec_shuffle-9.ll | 2 +-
test/CodeGen/X86/vec_shuffle.ll | 3 +-
test/CodeGen/X86/vec_ss_load_fold.ll | 12 +-
test/CodeGen/X86/vec_zero.ll | 4 +-
test/CodeGen/X86/vec_zero_cse.ll | 3 +-
test/CodeGen/X86/widen_arith-5.ll | 2 +-
test/CodeGen/X86/widen_cast-2.ll | 2 +-
test/CodeGen/X86/widen_load-2.ll | 78 +-
test/CodeGen/X86/xor-icmp.ll | 4 +-
test/CodeGen/X86/xor.ll | 2 +-
.../XCore/2010-04-07-DbgValueOtherTargets.ll | 33 +
test/CodeGen/XCore/addsub64.ll | 53 +-
test/CodeGen/XCore/constants.ll | 4 +-
test/CodeGen/XCore/indirectbr.ll | 2 +-
test/CodeGen/XCore/ladd_lsub_combine.ll | 67 +
test/CodeGen/XCore/mul64.ll | 52 +
test/DebugInfo/2009-10-16-Phi.ll | 2 +-
test/DebugInfo/2009-11-03-InsertExtractValue.ll | 8 +-
test/DebugInfo/2010-03-12-llc-crash.ll | 20 +
test/DebugInfo/2010-03-19-DbgDeclare.ll | 12 +
test/DebugInfo/2010-03-24-MemberFn.ll | 62 +
test/DebugInfo/2010-03-30-InvalidDbgInfoCrash.ll | 30 +
test/DebugInfo/2010-04-06-NestedFnDbgInfo.ll | 89 +
test/DebugInfo/2010-04-13-PubType.ll | 47 +
test/DebugInfo/2010-04-19-FramePtr.ll | 30 +
test/DebugInfo/2010-04-25-CU-entry_pc.ll | 9 +
test/Feature/unions.ll | 2 +
test/FrontendC++/2010-02-17-DbgArtificialArg.cpp | 2 +-
test/FrontendC++/2010-03-22-empty-baseclass.cpp | 134 +
test/FrontendC/2007-05-16-EmptyStruct.c | 2 +-
test/FrontendC/2008-11-02-WeakAlias.c | 2 +-
test/FrontendC/2009-12-07-BitFieldAlignment.c | 4 +-
test/FrontendC/2010-03-10-arm-asmreg.c | 15 +
test/FrontendC/crash-invalid-array.c | 17 +
test/FrontendObjC/2010-03-17-StructRef.m | 43 +
test/LLVMC/AppendCmdHook.td | 1 +
test/LLVMC/C++/dash-x.cpp | 1 +
test/LLVMC/C++/hello.cpp | 1 +
test/LLVMC/C++/together.cpp | 1 +
test/LLVMC/C/emit-llvm.c | 1 +
test/LLVMC/C/hello.c | 1 +
test/LLVMC/C/include.c | 1 +
test/LLVMC/C/opt-test.c | 1 +
test/LLVMC/C/sink.c | 1 +
test/LLVMC/C/wall.c | 1 +
test/LLVMC/EmptyCompilationGraph.td | 1 +
test/LLVMC/EnvParentheses.td | 1 +
test/LLVMC/ExternOptions.td | 1 +
test/LLVMC/ForwardAs.td | 1 +
test/LLVMC/ForwardTransformedValue.td | 1 +
test/LLVMC/ForwardValue.td | 1 +
test/LLVMC/HookWithArguments.td | 1 +
test/LLVMC/HookWithInFile.td | 1 +
test/LLVMC/Init.td | 1 +
test/LLVMC/MultiValuedOption.td | 1 +
test/LLVMC/MultipleCompilationGraphs.td | 1 +
test/LLVMC/NoActions.td | 1 +
test/LLVMC/NoCompilationGraph.td | 1 +
test/LLVMC/OneOrMore.td | 1 +
test/LLVMC/OptionPreprocessor.td | 1 +
test/LLVMC/TestWarnings.td | 3 +-
test/MC/AsmParser/X86/x86_32-bit.s | 1 +
test/MC/AsmParser/X86/x86_32-bit_cat.s | 85 +-
test/MC/AsmParser/X86/x86_32-encoding.s | 109 +
test/MC/AsmParser/X86/x86_32-mismatched-add.s | 8 +
test/MC/AsmParser/X86/x86_32-new-encoder.s | 13 +-
test/MC/AsmParser/X86/x86_64-encoding.s | 73 +
test/MC/AsmParser/X86/x86_64-incl_decl.s | 26 +
test/MC/AsmParser/X86/x86_64-new-encoder.s | 28 +
test/MC/AsmParser/X86/x86_64-operands.s | 9 +
test/MC/AsmParser/X86/x86_operands.s | 4 +-
test/MC/AsmParser/exprs.s | 11 +
test/MC/Disassembler/arm-tests.txt | 77 +
test/MC/Disassembler/dg.exp | 4 +-
test/MC/Disassembler/neon-tests.txt | 48 +
test/MC/Disassembler/simple-tests.txt | 14 +-
test/MC/Disassembler/thumb-tests.txt | 93 +
test/MC/MachO/Darwin/dg.exp | 5 -
test/MC/MachO/Darwin/x86_32_diff_as.s | 550 ----
test/MC/MachO/absolutize.s | 213 ++
test/MC/MachO/darwin-x86_64-diff-relocs.s | 329 ++
test/MC/MachO/darwin-x86_64-reloc-offsets.s | 343 ++
test/MC/MachO/darwin-x86_64-reloc.s | 264 ++
test/MC/MachO/relax-jumps.s | 31 +
test/MC/MachO/relax-recompute-align.s | 37 +
test/MC/MachO/reloc-diff.s | 55 +
test/MC/MachO/reloc-pcrel-offset.s | 14 +
test/MC/MachO/reloc-pcrel.s | 62 +
test/MC/MachO/reloc.s | 118 +-
test/MC/MachO/symbols-1.s | 437 ++-
.../{Darwin/optimal_nop.s => x86_32-optimal_nop.s} | 47 +-
test/MC/MachO/{sections.s => x86_32-sections.s} | 10 +-
test/MC/MachO/x86_32-symbols.s | 1041 ++++++
test/MC/MachO/x86_64-sections.s | 561 ++++
test/MC/MachO/x86_64-symbols.s | 998 ++++++
test/MC/MachO/zerofill-4.s | 35 +
test/MC/MachO/zerofill-sect-align.s | 15 +
test/Other/constant-fold-gep.ll | 43 +-
test/Other/lint.ll | 66 +
test/Scripts/macho-dump | 72 +-
test/TableGen/2003-08-03-PassCode.td | 1 +
test/TableGen/2006-09-18-LargeInt.td | 1 +
test/TableGen/2010-03-24-PrematureDefaults.td | 44 +
test/TableGen/AnonDefinitionOnDemand.td | 1 +
test/TableGen/DagDefSubst.td | 1 +
test/TableGen/DagIntSubst.td | 1 +
test/TableGen/DefmInherit.td | 1 +
test/TableGen/ForwardRef.td | 1 +
test/TableGen/GeneralList.td | 1 +
test/TableGen/IntBitInit.td | 1 +
test/TableGen/LazyChange.td | 2 +-
test/TableGen/ListArgs.td | 1 +
test/TableGen/ListArgsSimple.td | 1 +
test/TableGen/ListConversion.td | 1 +
test/TableGen/ListSlices.td | 1 +
test/TableGen/MultiClass.td | 1 +
test/TableGen/MultiClassDefName.td | 1 +
test/TableGen/MultiClassInherit.td | 1 +
test/TableGen/Slice.td | 1 +
test/TableGen/String.td | 1 +
test/TableGen/SuperSubclassSameName.td | 1 +
test/TableGen/TargetInstrInfo.td | 1 +
test/TableGen/TargetInstrSpec.td | 1 +
test/TableGen/TemplateArgRename.td | 1 +
test/TableGen/Tree.td | 1 +
test/TableGen/TreeNames.td | 1 +
test/TableGen/UnsetBitInit.td | 1 +
test/TableGen/cast.td | 1 +
test/TableGen/eq.td | 1 +
test/TableGen/foreach.td | 1 +
test/TableGen/if.td | 1 +
test/TableGen/lisp.td | 1 +
test/TableGen/nameconcat.td | 1 +
test/TableGen/strconcat.td | 1 +
test/TableGen/subst.td | 1 +
test/TableGen/subst2.td | 1 +
test/Transforms/ArgumentPromotion/crash.ll | 38 +
.../DeadArgElim/2009-03-17-MRE-Invoke.ll | 2 +-
test/Transforms/DeadArgElim/deadexternal.ll | 13 +
test/Transforms/DeadStoreElimination/crash.ll | 2 +-
test/Transforms/GVN/2010-03-31-RedundantPHIs.ll | 46 +
test/Transforms/GVN/invariant-simple.ll | 2 +-
test/Transforms/GVN/lifetime-simple.ll | 4 +-
test/Transforms/GVN/rle.ll | 12 +
test/Transforms/GlobalOpt/crash.ll | 28 +-
test/Transforms/GlobalOpt/malloc-promote-2.ll | 31 +-
test/Transforms/GlobalOpt/malloc-promote-3.ll | 30 -
.../IndVarSimplify/2008-11-17-Floating.ll | 35 -
test/Transforms/IndVarSimplify/casted-argument.ll | 2 +-
test/Transforms/IndVarSimplify/crash.ll | 19 +
test/Transforms/IndVarSimplify/dangling-use.ll | 41 +
.../IndVarSimplify/eliminate-comparison.ll | 108 +
test/Transforms/IndVarSimplify/eliminate-max.ll | 52 +
test/Transforms/IndVarSimplify/eliminate-rem.ll | 121 +
...2008-11-03-Floating.ll => floating-point-iv.ll} | 49 +-
test/Transforms/IndVarSimplify/udiv.ll | 162 +
test/Transforms/Inline/crash.ll | 31 +
test/Transforms/Inline/crash2.ll | 29 +
test/Transforms/Inline/externally_available.ll | 2 +-
test/Transforms/Inline/gvn-inline-iteration.ll | 23 +
test/Transforms/Inline/indirect_resolve.ll | 32 +-
test/Transforms/Inline/noinline.ll | 18 +
test/Transforms/InstCombine/2007-12-28-IcmpSub2.ll | 2 +-
test/Transforms/InstCombine/gepgep.ll | 13 +
test/Transforms/InstCombine/invariant.ll | 6 +-
test/Transforms/InstCombine/memset_chk.ll | 2 +-
test/Transforms/InstCombine/objsize.ll | 39 +-
test/Transforms/InstCombine/odr-linkage.ll | 2 +-
test/Transforms/InstCombine/shift-sra.ll | 20 +
test/Transforms/InstCombine/strcpy_chk.ll | 1 +
test/Transforms/InstCombine/vec_shuffle.ll | 2 +-
test/Transforms/JumpThreading/crash.ll | 17 +
test/Transforms/LCSSA/unreachable-use.ll | 27 +
test/Transforms/LoopIndexSplit/2008-02-08-Crash.ll | 2 +-
.../LoopStrengthReduce/insert-positions.ll | 69 +
test/Transforms/LoopStrengthReduce/pr2537.ll | 2 +-
.../LoopStrengthReduce/quadradic-exit-value.ll | 2 +-
test/Transforms/LoopStrengthReduce/uglygep.ll | 67 +
test/Transforms/LoopUnswitch/crash.ll | 19 +
test/Transforms/MemCpyOpt/align.ll | 2 +-
test/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 +
.../SimplifyCFG/2010-03-30-InvokeCrash.ll | 18 +
test/Transforms/SimplifyLibCalls/StrCpy.ll | 47 +-
test/Transforms/TailCallElim/inf-recursion.ll | 26 +-
test/Verifier/2006-12-12-IntrinsicDefine.ll | 2 +-
test/lit.cfg | 7 +-
tools/CMakeLists.txt | 1 +
tools/Makefile | 17 +-
tools/bugpoint/BugDriver.cpp | 96 +-
tools/bugpoint/BugDriver.h | 55 +-
tools/bugpoint/CMakeLists.txt | 1 -
tools/bugpoint/CrashDebugger.cpp | 63 +-
tools/bugpoint/ExecutionDriver.cpp | 93 +-
tools/bugpoint/FindBugs.cpp | 37 +-
tools/bugpoint/ListReducer.h | 30 +-
tools/bugpoint/Makefile | 1 -
tools/bugpoint/Miscompilation.cpp | 287 +-
tools/bugpoint/OptimizerDriver.cpp | 2 -
tools/bugpoint/ToolRunner.cpp | 171 +-
tools/bugpoint/ToolRunner.h | 76 +-
tools/bugpoint/bugpoint.cpp | 48 +-
tools/edis/CMakeLists.txt | 25 +
tools/edis/EDDisassembler.cpp | 145 +-
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 | 238 +-
tools/edis/EDToken.cpp | 18 +-
tools/edis/EnhancedDisassembly.exports | 72 +-
tools/edis/Makefile | 27 +-
tools/gold/Makefile | 2 +
tools/gold/gold-plugin.cpp | 30 +-
tools/gold/gold.exports | 1 +
tools/llc/llc.cpp | 5 +-
tools/lli/lli.cpp | 2 +-
tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp | 4 +
tools/llvm-extract/llvm-extract.cpp | 1 -
tools/llvm-ld/Optimize.cpp | 5 -
tools/llvm-ld/llvm-ld.cpp | 141 +-
tools/llvm-link/llvm-link.cpp | 1 -
tools/llvm-mc/CMakeLists.txt | 1 +
tools/llvm-mc/Disassembler.cpp | 282 +-
tools/llvm-mc/Disassembler.h | 3 +
tools/llvm-mc/Makefile | 3 +
tools/llvm-mc/llvm-mc.cpp | 97 +-
tools/llvmc/plugins/Base/Base.td.in | 8 +-
tools/lto/LTOCodeGenerator.cpp | 90 +-
tools/lto/LTOModule.cpp | 20 +-
tools/lto/Makefile | 3 +-
tools/lto/lto.exports | 47 +-
tools/opt/AnalysisWrappers.cpp | 1 -
tools/opt/GraphPrinters.cpp | 7 +-
tools/opt/opt.cpp | 14 +-
unittests/ADT/APFloatTest.cpp | 2 +
unittests/ADT/APIntTest.cpp | 2 +
unittests/ADT/SmallVectorTest.cpp | 8 +-
unittests/ADT/ValueMapTest.cpp | 8 +-
.../ExecutionEngine/JIT/JITMemoryManagerTest.cpp | 8 +-
unittests/ExecutionEngine/JIT/JITTest.cpp | 4 +-
unittests/Makefile.unittest | 18 +-
unittests/Support/LeakDetectorTest.cpp | 2 +
unittests/Transforms/Utils/Cloning.cpp | 125 +-
unittests/VMCore/InstructionsTest.cpp | 128 +
unittests/VMCore/MetadataTest.cpp | 4 +-
unittests/VMCore/PassManagerTest.cpp | 6 +-
unittests/VMCore/VerifierTest.cpp | 7 +-
utils/FileCheck/FileCheck.cpp | 17 +-
utils/NewNightlyTest.pl | 23 +-
utils/TableGen/ARMDecoderEmitter.cpp | 1870 +++++++++++
utils/TableGen/ARMDecoderEmitter.h | 50 +
utils/TableGen/Android.mk | 1 +
utils/TableGen/AsmMatcherEmitter.cpp | 37 +-
utils/TableGen/AsmWriterEmitter.cpp | 14 +-
utils/TableGen/AsmWriterInst.cpp | 1 +
utils/TableGen/CMakeLists.txt | 1 +
utils/TableGen/ClangDiagnosticsEmitter.cpp | 2 +-
utils/TableGen/CodeEmitterGen.cpp | 10 +-
utils/TableGen/CodeGenDAGPatterns.cpp | 1712 ++++++----
utils/TableGen/CodeGenDAGPatterns.h | 247 +-
utils/TableGen/CodeGenInstruction.cpp | 81 +-
utils/TableGen/CodeGenInstruction.h | 14 +-
utils/TableGen/CodeGenTarget.cpp | 210 +-
utils/TableGen/CodeGenTarget.h | 54 +-
utils/TableGen/DAGISelEmitter.cpp | 82 +-
utils/TableGen/DAGISelMatcher.cpp | 19 +-
utils/TableGen/DAGISelMatcher.h | 8 +-
utils/TableGen/DAGISelMatcherEmitter.cpp | 57 +-
utils/TableGen/DAGISelMatcherGen.cpp | 124 +-
utils/TableGen/DAGISelMatcherOpt.cpp | 17 +-
utils/TableGen/DisassemblerEmitter.cpp | 12 +-
utils/TableGen/EDEmitter.cpp | 634 ++--
utils/TableGen/FastISelEmitter.cpp | 24 +-
utils/TableGen/InstrEnumEmitter.cpp | 13 +-
utils/TableGen/InstrInfoEmitter.cpp | 100 +-
utils/TableGen/InstrInfoEmitter.h | 2 -
utils/TableGen/IntrinsicEmitter.cpp | 13 +-
utils/TableGen/Record.cpp | 35 +-
utils/TableGen/Record.h | 14 +-
utils/TableGen/SubtargetEmitter.cpp | 44 +-
utils/TableGen/SubtargetEmitter.h | 3 +-
utils/TableGen/TableGen.cpp | 8 +-
utils/TableGen/X86DisassemblerTables.cpp | 4 +-
utils/TableGen/X86RecognizableInstr.cpp | 3 +-
utils/buildit/build_llvm | 9 +-
utils/fpcmp/fpcmp.cpp | 4 +-
utils/lit/lit/ExampleTests/Clang/lit.cfg | 33 -
.../LLVM.OutOfTree/src/test/Foo/pct-S.ll | 2 +-
utils/lit/lit/LitConfig.py | 21 +-
utils/lit/lit/LitFormats.py | 1 -
utils/lit/lit/LitTestCase.py | 30 +
utils/lit/lit/TestFormats.py | 20 +-
utils/lit/lit/TestRunner.py | 43 +-
utils/lit/lit/TestingConfig.py | 8 +-
utils/lit/lit/lit.py | 55 +-
utils/mkpatch | 2 +-
utils/unittest/UnitTestMain/Makefile | 6 +
utils/unittest/googletest/Makefile | 10 +
utils/unittest/googletest/gtest-filepath.cc | 4 +-
.../include/gtest/internal/gtest-linked_ptr.h | 1 +
.../googletest/include/gtest/internal/gtest-port.h | 3 +-
1494 files changed, 70116 insertions(+), 31525 deletions(-)
create mode 100644 examples/OCaml-Kaleidoscope/Chapter2/Makefile
create mode 100644 examples/OCaml-Kaleidoscope/Chapter2/_tags
create mode 100644 examples/OCaml-Kaleidoscope/Chapter2/ast.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter2/lexer.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter2/parser.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter2/token.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter2/toplevel.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter2/toy.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter3/Makefile
create mode 100644 examples/OCaml-Kaleidoscope/Chapter3/_tags
create mode 100644 examples/OCaml-Kaleidoscope/Chapter3/ast.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter3/codegen.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter3/lexer.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter3/myocamlbuild.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter3/parser.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter3/token.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter3/toplevel.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter3/toy.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter4/Makefile
create mode 100644 examples/OCaml-Kaleidoscope/Chapter4/_tags
create mode 100644 examples/OCaml-Kaleidoscope/Chapter4/ast.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter4/bindings.c
create mode 100644 examples/OCaml-Kaleidoscope/Chapter4/codegen.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter4/lexer.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter4/myocamlbuild.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter4/parser.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter4/token.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter4/toplevel.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter4/toy.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter5/Makefile
create mode 100644 examples/OCaml-Kaleidoscope/Chapter5/_tags
create mode 100644 examples/OCaml-Kaleidoscope/Chapter5/ast.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter5/bindings.c
create mode 100644 examples/OCaml-Kaleidoscope/Chapter5/codegen.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter5/lexer.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter5/myocamlbuild.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter5/parser.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter5/token.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter5/toplevel.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter5/toy.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter6/Makefile
create mode 100644 examples/OCaml-Kaleidoscope/Chapter6/_tags
create mode 100644 examples/OCaml-Kaleidoscope/Chapter6/ast.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter6/bindings.c
create mode 100644 examples/OCaml-Kaleidoscope/Chapter6/codegen.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter6/lexer.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter6/myocamlbuild.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter6/parser.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter6/token.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter6/toplevel.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter6/toy.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter7/Makefile
create mode 100644 examples/OCaml-Kaleidoscope/Chapter7/_tags
create mode 100644 examples/OCaml-Kaleidoscope/Chapter7/ast.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter7/bindings.c
create mode 100644 examples/OCaml-Kaleidoscope/Chapter7/codegen.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter7/lexer.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter7/myocamlbuild.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter7/parser.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter7/token.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter7/toplevel.ml
create mode 100644 examples/OCaml-Kaleidoscope/Chapter7/toy.ml
create mode 100644 examples/OCaml-Kaleidoscope/Makefile
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
delete mode 100644 include/llvm/CodeGen/DwarfWriter.h
create mode 100644 include/llvm/CodeGen/ISDOpcodes.h
create mode 100644 include/llvm/MC/EDInstInfo.h
create mode 100644 include/llvm/MC/MCAsmLayout.h
create mode 100644 include/llvm/MC/MCObjectWriter.h
create mode 100644 include/llvm/MC/MachObjectWriter.h
create mode 100644 include/llvm/System/Valgrind.h
create mode 100644 include/llvm/Target/TargetSelectionDAGInfo.h
create mode 100644 lib/Analysis/IPA/Android.mk
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/AsmPrinter/AsmPrinterDwarf.cpp
create mode 100644 lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
delete mode 100644 lib/CodeGen/AsmPrinter/DwarfLabel.cpp
delete mode 100644 lib/CodeGen/AsmPrinter/DwarfLabel.h
delete mode 100644 lib/CodeGen/AsmPrinter/DwarfPrinter.cpp
delete mode 100644 lib/CodeGen/AsmPrinter/DwarfPrinter.h
delete mode 100644 lib/CodeGen/AsmPrinter/DwarfWriter.cpp
create mode 100644 lib/CodeGen/MachineFunctionPrinterPass.cpp
create mode 100644 lib/CodeGen/RegAllocFast.cpp
delete mode 100644 lib/CodeGen/SelectionDAG/SDDbgValue.h
create mode 100644 lib/CodeGen/SelectionDAG/SDNodeDbgValue.h
create mode 100644 lib/CodeGen/SelectionDAG/TargetSelectionDAGInfo.cpp
create mode 100644 lib/MC/MCObjectWriter.cpp
create mode 100644 lib/MC/MachObjectWriter.cpp
create mode 100644 lib/System/SearchForAddressOfSpecialSymbol.cpp
create mode 100644 lib/System/Valgrind.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/ARMTargetObjectFile.cpp
create mode 100644 lib/Target/ARM/AsmParser/ARMAsmLexer.cpp
create mode 100644 lib/Target/ARM/Disassembler/ARMDisassembler.cpp
create mode 100644 lib/Target/ARM/Disassembler/ARMDisassembler.h
create mode 100644 lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp
create mode 100644 lib/Target/ARM/Disassembler/ARMDisassemblerCore.h
create mode 100644 lib/Target/ARM/Disassembler/Makefile
create mode 100644 lib/Target/ARM/Disassembler/ThumbDisassemblerCore.h
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/SSEDomainFix.cpp
delete mode 100644 lib/Target/X86/X86MCTargetExpr.cpp
delete mode 100644 lib/Target/X86/X86MCTargetExpr.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
create mode 100644 lib/Transforms/IPO/Android.mk
create mode 100644 lib/Transforms/InstCombine/Android.mk
delete mode 100644 lib/Transforms/Scalar/SCCVN.cpp
rename {include/llvm => lib}/Transforms/Utils/ValueMapper.h (80%)
create mode 100644 lib/VMCore/DebugLoc.cpp
create mode 100644 lib/VMCore/LLVMContextImpl.cpp
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/unreachable-code.ll
create mode 100644 test/Analysis/ScalarEvolution/unsimplified-loop.ll
create mode 100644 test/Bitcode/sse41_pmulld.ll
create mode 100644 test/Bitcode/sse41_pmulld.ll.bc
create mode 100644 test/Bitcode/ssse3_palignr.ll
create mode 100644 test/Bitcode/ssse3_palignr.ll.bc
create mode 100644 test/CodeGen/ARM/2010-03-18-ldm-rtrn.ll
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/ARM/fp16.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/bigstack.ll
create mode 100644 test/CodeGen/CellSPU/crash.ll
create mode 100644 test/CodeGen/Generic/2010-ZeroSizedArg.ll
delete mode 100644 test/CodeGen/Generic/GC/redundant_init.ll
create mode 100644 test/CodeGen/Generic/addr-label.ll
create mode 100644 test/CodeGen/Generic/crash.ll
create mode 100644 test/CodeGen/Generic/dbg_value.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/Mips/2010-04-07-DbgValueOtherTargets.ll
create mode 100644 test/CodeGen/PowerPC/2010-03-09-indirect-call.ll
create mode 100644 test/CodeGen/PowerPC/2010-04-01-MachineCSEBug.ll
create mode 100644 test/CodeGen/PowerPC/2010-04-07-DbgValueOtherTargets.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-03-08-addi12-ccout.ll
create mode 100644 test/CodeGen/Thumb2/2010-03-15-AsmCCClobber.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
rename test/CodeGen/{Generic => X86}/2007-02-16-BranchFold.ll (100%)
rename test/CodeGen/{Generic => X86}/2007-05-05-Personality.ll (100%)
delete mode 100644 test/CodeGen/X86/2007-10-16-IllegalAsm.ll
create mode 100644 test/CodeGen/X86/2010-03-17-ISelBug.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
rename test/CodeGen/{Generic => X86}/GC/alloc_loop.ll (100%)
rename test/CodeGen/{Generic => X86}/GC/argpromotion.ll (100%)
rename test/CodeGen/{Generic => X86}/GC/badreadproto.ll (100%)
rename test/CodeGen/{Generic => X86}/GC/badrootproto.ll (100%)
rename test/CodeGen/{Generic => X86}/GC/badwriteproto.ll (100%)
rename test/CodeGen/{Generic => X86}/GC/deadargelim.ll (100%)
rename test/CodeGen/{Generic => X86}/GC/dg.exp (100%)
rename test/CodeGen/{Generic => X86}/GC/fat.ll (100%)
rename test/CodeGen/{Generic => X86}/GC/inline.ll (100%)
rename test/CodeGen/{Generic => X86}/GC/inline2.ll (100%)
rename test/CodeGen/{Generic => X86}/GC/lower_gcroot.ll (100%)
rename test/CodeGen/{Generic => X86}/GC/outside.ll (100%)
rename test/CodeGen/{Generic => X86}/GC/simple_ocaml.ll (100%)
create mode 100644 test/CodeGen/X86/MachineSink-CritEdge.ll
create mode 100644 test/CodeGen/X86/alignment.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/gather-addresses.ll
create mode 100644 test/CodeGen/X86/ghc-cc.ll
create mode 100644 test/CodeGen/X86/ghc-cc64.ll
create mode 100644 test/CodeGen/X86/liveness-local-regalloc.ll
create mode 100644 test/CodeGen/X86/lsr-delayed-fold.ll
create mode 100644 test/CodeGen/X86/machine-cse.ll
create mode 100644 test/CodeGen/X86/memset-3.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/phys_subreg_coalesce-3.ll
create mode 100644 test/CodeGen/X86/pmulld.ll
create mode 100644 test/CodeGen/X86/postra-licm.ll
rename test/CodeGen/X86/{tailcall2.ll => sibcall.ll} (61%)
create mode 100644 test/CodeGen/X86/store-narrow.ll
create mode 100644 test/CodeGen/X86/unreachable-loop-sinking.ll
rename test/CodeGen/X86/{vec_insert_4.ll => vec_insert-4.ll} (100%)
create mode 100644 test/CodeGen/X86/vec_insert-9.ll
create mode 100644 test/CodeGen/XCore/2010-04-07-DbgValueOtherTargets.ll
create mode 100644 test/CodeGen/XCore/ladd_lsub_combine.ll
create mode 100644 test/CodeGen/XCore/mul64.ll
create mode 100644 test/DebugInfo/2010-03-12-llc-crash.ll
create mode 100644 test/DebugInfo/2010-03-19-DbgDeclare.ll
create mode 100644 test/DebugInfo/2010-03-24-MemberFn.ll
create mode 100644 test/DebugInfo/2010-03-30-InvalidDbgInfoCrash.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
create mode 100644 test/DebugInfo/2010-04-25-CU-entry_pc.ll
create mode 100644 test/FrontendC++/2010-03-22-empty-baseclass.cpp
create mode 100644 test/FrontendC/2010-03-10-arm-asmreg.c
create mode 100644 test/FrontendC/crash-invalid-array.c
create mode 100644 test/FrontendObjC/2010-03-17-StructRef.m
create mode 100644 test/MC/AsmParser/X86/x86_32-mismatched-add.s
create mode 100644 test/MC/AsmParser/X86/x86_64-encoding.s
create mode 100644 test/MC/AsmParser/X86/x86_64-incl_decl.s
create mode 100644 test/MC/AsmParser/X86/x86_64-operands.s
create mode 100644 test/MC/Disassembler/arm-tests.txt
create mode 100644 test/MC/Disassembler/neon-tests.txt
create mode 100644 test/MC/Disassembler/thumb-tests.txt
delete mode 100644 test/MC/MachO/Darwin/dg.exp
delete mode 100644 test/MC/MachO/Darwin/x86_32_diff_as.s
create mode 100644 test/MC/MachO/absolutize.s
create mode 100644 test/MC/MachO/darwin-x86_64-diff-relocs.s
create mode 100644 test/MC/MachO/darwin-x86_64-reloc-offsets.s
create mode 100644 test/MC/MachO/darwin-x86_64-reloc.s
create mode 100644 test/MC/MachO/relax-jumps.s
create mode 100644 test/MC/MachO/relax-recompute-align.s
create mode 100644 test/MC/MachO/reloc-diff.s
create mode 100644 test/MC/MachO/reloc-pcrel-offset.s
create mode 100644 test/MC/MachO/reloc-pcrel.s
rename test/MC/MachO/{Darwin/optimal_nop.s => x86_32-optimal_nop.s} (59%)
rename test/MC/MachO/{sections.s => x86_32-sections.s} (98%)
create mode 100644 test/MC/MachO/x86_32-symbols.s
create mode 100644 test/MC/MachO/x86_64-sections.s
create mode 100644 test/MC/MachO/x86_64-symbols.s
create mode 100644 test/MC/MachO/zerofill-4.s
create mode 100644 test/MC/MachO/zerofill-sect-align.s
create mode 100644 test/Other/lint.ll
create mode 100644 test/TableGen/2010-03-24-PrematureDefaults.td
create mode 100644 test/Transforms/ArgumentPromotion/crash.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
delete mode 100644 test/Transforms/IndVarSimplify/2008-11-17-Floating.ll
create mode 100644 test/Transforms/IndVarSimplify/crash.ll
create mode 100644 test/Transforms/IndVarSimplify/dangling-use.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
rename test/Transforms/IndVarSimplify/{2008-11-03-Floating.ll => floating-point-iv.ll} (58%)
create mode 100644 test/Transforms/IndVarSimplify/udiv.ll
create mode 100644 test/Transforms/Inline/crash2.ll
create mode 100644 test/Transforms/Inline/gvn-inline-iteration.ll
create mode 100644 test/Transforms/Inline/noinline.ll
create mode 100644 test/Transforms/InstCombine/gepgep.ll
create mode 100644 test/Transforms/LCSSA/unreachable-use.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 test/Transforms/SimplifyCFG/2010-03-30-InvokeCrash.ll
create mode 100644 tools/edis/CMakeLists.txt
create mode 100644 tools/edis/EDInfo.td
create mode 100644 tools/gold/gold.exports
create mode 100644 unittests/VMCore/InstructionsTest.cpp
create mode 100644 utils/TableGen/ARMDecoderEmitter.cpp
create mode 100644 utils/TableGen/ARMDecoderEmitter.h
create mode 100644 utils/lit/lit/LitTestCase.py
diff --git a/Android.mk b/Android.mk
index 6e9950e2ca4..3b35cf73c5a 100644
--- a/Android.mk
+++ b/Android.mk
@@ -1,11 +1,12 @@
-# Only use this on the device or emulator.
-ifneq ($(TARGET_SIMULATOR),true)
-ifneq ($(TARGET_PRODUCT),sdk)
-
LOCAL_PATH := $(call my-dir)
LLVM_ROOT_PATH := $(LOCAL_PATH)
include $(CLEAR_VARS)
+# Only use this on the device or emulator.
+ifeq ($(TARGET_SIMULATOR),true)
+$(error LLVM not suitable for the simulator! $(LOCAL_PATH))
+endif
+
subdirs := $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk, \
lib/System \
lib/Support \
@@ -13,8 +14,11 @@ subdirs := $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk, \
lib/VMCore \
lib/Bitcode/Reader \
lib/Analysis \
+ lib/Analysis/IPA \
+ lib/Transforms/IPO \
lib/Transforms/Utils \
lib/Transforms/Scalar \
+ lib/Transforms/InstCombine \
lib/CodeGen \
lib/CodeGen/SelectionDAG \
lib/CodeGen/AsmPrinter \
@@ -36,6 +40,3 @@ LLVM_GEN_INTRINSICS_MK := $(LOCAL_PATH)/llvm-gen-intrinsics.mk
LLVM_TBLGEN_RULES_MK := $(LOCAL_PATH)/tblgen-rules.mk
include $(subdirs)
-
-endif # TARGET_PRODUCT != sdk
-endif # TARGET_SIMULATOR != true
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 96e06082fde..9d0180b86ff 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -217,7 +217,9 @@ if( MSVC )
# List of valid CRTs for MSVC
set(MSVC_CRT
MD
- MDd)
+ MDd
+ MT
+ MTd)
set(LLVM_USE_CRT "" CACHE STRING "Specify VC++ CRT to use for debug/release configurations.")
add_llvm_definitions( -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS )
diff --git a/Makefile b/Makefile
index f5a9b336e37..1421345d6e6 100644
--- a/Makefile
+++ b/Makefile
@@ -110,6 +110,8 @@ cross-compile-build-tools:
ENABLE_COVERAGE=$(ENABLE_COVERAGE) \
DISABLE_ASSERTIONS=$(DISABLE_ASSERTIONS) \
ENABLE_EXPENSIVE_CHECKS=$(ENABLE_EXPENSIVE_CHECKS) \
+ CFLAGS= \
+ CXXFLAGS= \
) || exit 1;
endif
@@ -214,7 +216,7 @@ update:
$(SVN) $(SVN-UPDATE-OPTIONS) update $(LLVM_SRC_ROOT)
@ $(SVN) status $(LLVM_SRC_ROOT) | $(SUB-SVN-DIRS) | xargs $(SVN) $(SVN-UPDATE-OPTIONS) update
-happiness: update all check unittests
+happiness: update all check-all
.PHONY: srpm rpm update happiness
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 fcddd50c3a2..ba4fd3a30eb 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)
@@ -578,18 +577,9 @@ endif
ifeq ($(TARGET_OS),Darwin)
ifneq ($(ARCH),ARM)
TargetCommonOpts += -mmacosx-version-min=$(DARWIN_VERSION)
- else
- TargetCommonOpts += -marm
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)
@@ -642,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
@@ -972,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
###############################################################################
@@ -1062,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"
@@ -1264,7 +1290,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
@@ -1329,7 +1355,7 @@ uninstall-local::
# TOOLALIAS install.
ifdef TOOLALIAS
-DestToolAlias = $(PROJ_bindir)/$(TOOLALIAS)$(EXEEXT)
+DestToolAlias = $(DESTDIR)$(PROJ_bindir)/$(TOOLALIAS)$(EXEEXT)
install-local:: $(DestToolAlias)
@@ -1614,6 +1640,11 @@ $(ObjDir)/%GenIntrinsics.inc.tmp : %.td $(ObjDir)/.dir
$(Echo) "Building $(/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/Makefile.ocaml b/bindings/ocaml/Makefile.ocaml
index 4e5de802640..1cff422c28d 100644
--- a/bindings/ocaml/Makefile.ocaml
+++ b/bindings/ocaml/Makefile.ocaml
@@ -66,35 +66,64 @@ Archive.CMA := $(strip $(OCAMLC) -a -custom $(OCAMLAFLAGS) $(OCAMLDEBUGFLAG) \
Compile.CMX := $(strip $(OCAMLOPT) -c $(OCAMLCFLAGS) $(OCAMLDEBUGFLAG) -o)
Archive.CMXA := $(strip $(OCAMLOPT) -a $(OCAMLAFLAGS) $(OCAMLDEBUGFLAG) -o)
+ifdef OCAMLOPT
+Archive.EXE := $(strip $(OCAMLOPT) -cc $(CXX) $(OCAMLCFLAGS) $(UsedOcamLibs:%=%.cmxa) $(OCAMLDEBUGFLAG) -o)
+else
+Archive.EXE := $(strip $(OCAMLC) -cc $(CXX) $(OCAMLCFLAGS) $(OCAMLDEBUGFLAG:%=%.cma) -o)
+endif
+
# Source files
OcamlSources1 := $(sort $(wildcard $(PROJ_SRC_DIR)/*.ml))
-OcamlHeaders1 := $(OcamlSources1:.ml=.mli)
+OcamlHeaders1 := $(sort $(wildcard $(PROJ_SRC_DIR)/*.mli))
+
+OcamlSources2 := $(filter-out $(ExcludeSources),$(OcamlSources1))
+OcamlHeaders2 := $(filter-out $(ExcludeHeaders),$(OcamlHeaders1))
-OcamlSources := $(OcamlSources1:$(PROJ_SRC_DIR)/%=$(ObjDir)/%)
-OcamlHeaders := $(OcamlHeaders1:$(PROJ_SRC_DIR)/%=$(ObjDir)/%)
+OcamlSources := $(OcamlSources2:$(PROJ_SRC_DIR)/%=$(ObjDir)/%)
+OcamlHeaders := $(OcamlHeaders2:$(PROJ_SRC_DIR)/%=$(ObjDir)/%)
# Intermediate files
-LibraryCMA := $(ObjDir)/$(LIBRARYNAME).cma
-LibraryCMXA := $(ObjDir)/$(LIBRARYNAME).cmxa
ObjectsCMI := $(OcamlSources:%.ml=%.cmi)
ObjectsCMO := $(OcamlSources:%.ml=%.cmo)
ObjectsCMX := $(OcamlSources:%.ml=%.cmx)
+ifdef LIBRARYNAME
+LibraryCMA := $(ObjDir)/$(LIBRARYNAME).cma
+LibraryCMXA := $(ObjDir)/$(LIBRARYNAME).cmxa
+endif
+
+ifdef TOOLNAME
+ToolEXE := $(ObjDir)/$(TOOLNAME)$(EXEEXT)
+endif
+
# Output files
# The .cmo files are the only intermediates; all others are to be installed.
-LibraryA := $(OcamlDir)/lib$(LIBRARYNAME).a
-OutputCMA := $(LibraryCMA:$(ObjDir)/%.cma=$(OcamlDir)/%.cma)
-OutputCMXA := $(LibraryCMXA:$(ObjDir)/%.cmxa=$(OcamlDir)/%.cmxa)
OutputsCMI := $(ObjectsCMI:$(ObjDir)/%.cmi=$(OcamlDir)/%.cmi)
OutputsCMX := $(ObjectsCMX:$(ObjDir)/%.cmx=$(OcamlDir)/%.cmx)
OutputLibs := $(UsedLibNames:%=$(OcamlDir)/%)
+ifdef LIBRARYNAME
+LibraryA := $(OcamlDir)/lib$(LIBRARYNAME).a
+OutputCMA := $(LibraryCMA:$(ObjDir)/%.cma=$(OcamlDir)/%.cma)
+OutputCMXA := $(LibraryCMXA:$(ObjDir)/%.cmxa=$(OcamlDir)/%.cmxa)
+endif
+
+ifdef TOOLNAME
+ifdef EXAMPLE_TOOL
+OutputEXE := $(ExmplDir)/$(strip $(TOOLNAME))$(EXEEXT)
+else
+OutputEXE := $(ToolDir)/$(strip $(TOOLNAME))$(EXEEXT)
+endif
+endif
+
# Installation targets
+DestLibs := $(UsedLibNames:%=$(PROJ_libocamldir)/%)
+
+ifdef LIBRARYNAME
DestA := $(PROJ_libocamldir)/lib$(LIBRARYNAME).a
DestCMA := $(PROJ_libocamldir)/$(LIBRARYNAME).cma
DestCMXA := $(PROJ_libocamldir)/$(LIBRARYNAME).cmxa
-DestLibs := $(UsedLibNames:%=$(PROJ_libocamldir)/%)
-
+endif
##===- Dependencies -------------------------------------------------------===##
# Copy the sources into the intermediate directory because older ocamlc doesn't
@@ -106,18 +135,27 @@ $(ObjDir)/%.mli: $(PROJ_SRC_DIR)/%.mli $(ObjDir)/.dir
$(ObjDir)/%.ml: $(PROJ_SRC_DIR)/%.ml $(ObjDir)/.dir
$(Verb) $(CP) -f $< $@
+$(ObjectsCMI): $(UsedOcamlInterfaces:%=$(OcamlDir)/%.cmi)
+
+ifdef LIBRARYNAME
$(ObjDir)/$(LIBRARYNAME).ocamldep: $(OcamlSources) $(OcamlHeaders) \
$(OcamlDir)/.dir $(ObjDir)/.dir
$(Verb) $(OCAMLDEP) $(OCAMLCFLAGS) $(OcamlSources) $(OcamlHeaders) > $@
-$(ObjectsCMI): $(UsedOcamlInterfaces:%=$(OcamlDir)/%.cmi)
-
-include $(ObjDir)/$(LIBRARYNAME).ocamldep
+endif
+
+ifdef TOOLNAME
+$(ObjDir)/$(TOOLNAME).ocamldep: $(OcamlSources) $(OcamlHeaders) \
+ $(OcamlDir)/.dir $(ObjDir)/.dir
+ $(Verb) $(OCAMLDEP) $(OCAMLCFLAGS) $(OcamlSources) $(OcamlHeaders) > $@
+-include $(ObjDir)/$(TOOLNAME).ocamldep
+endif
##===- Build static library from C sources --------------------------------===##
-ifneq ($(ObjectsO),)
+ifdef LibraryA
all-local:: $(LibraryA)
clean-local:: clean-a
install-local:: install-a
@@ -160,7 +198,7 @@ $(OcamlDir)/%.o: $(LibDir)/%.o
$(Verb) ln -sf $< $@
clean-deplibs:
- $(Verb) rm -f $(OutputLibs)
+ $(Verb) $(RM) -f $(OutputLibs)
install-deplibs:
$(Verb) $(MKDIR) $(PROJ_libocamldir)
@@ -169,11 +207,12 @@ install-deplibs:
done
uninstall-deplibs:
- $(Verb) rm -f $(DestLibs)
+ $(Verb) $(RM) -f $(DestLibs)
##===- Build ocaml interfaces (.mli's -> .cmi's) --------------------------===##
+ifneq ($(OcamlHeaders),)
all-local:: build-cmis
clean-local:: clean-cmis
install-local:: install-cmis
@@ -212,10 +251,16 @@ uninstall-cmis::
$(EchoCmd) "Uninstalling $(PROJ_libocamldir)/$$i"; \
$(RM) -f "$(PROJ_libocamldir)/$$i"; \
done
+endif
##===- Build ocaml bytecode archive (.ml's -> .cmo's -> .cma) -------------===##
+$(ObjDir)/%.cmo: $(ObjDir)/%.ml
+ $(Echo) "Compiling $(notdir $<) for $(BuildMode) build"
+ $(Verb) $(Compile.CMO) $@ $<
+
+ifdef LIBRARYNAME
all-local:: $(OutputCMA)
clean-local:: clean-cma
install-local:: install-cma
@@ -228,10 +273,6 @@ $(LibraryCMA): $(ObjectsCMO) $(OcamlDir)/.dir
$(Echo) "Archiving $(notdir $@) for $(BuildMode) build"
$(Verb) $(Archive.CMA) $@ $(ObjectsCMO)
-$(ObjDir)/%.cmo: $(ObjDir)/%.ml
- $(Echo) "Compiling $(notdir $<) for $(BuildMode) build"
- $(Verb) $(Compile.CMO) $@ $<
-
clean-cma::
$(Verb) $(RM) -f $(OutputCMA) $(UsedLibNames:%=$(OcamlDir)/%)
@@ -243,7 +284,7 @@ install-cma:: $(OutputCMA)
uninstall-cma::
$(Echo) "Uninstalling $(DestCMA)"
-$(Verb) $(RM) -f $(DestCMA)
-
+endif
##===- Build optimized ocaml archive (.ml's -> .cmx's -> .cmxa, .a) -------===##
@@ -251,6 +292,14 @@ uninstall-cma::
# If unavailable, 'configure' will not define OCAMLOPT in Makefile.config.
ifdef OCAMLOPT
+$(OcamlDir)/%.cmx: $(ObjDir)/%.cmx
+ $(Verb) $(CP) -f $< $@
+
+$(ObjDir)/%.cmx: $(ObjDir)/%.ml
+ $(Echo) "Compiling optimized $(notdir $<) for $(BuildMode) build"
+ $(Verb) $(Compile.CMX) $@ $<
+
+ifdef LIBRARYNAME
all-local:: $(OutputCMXA) $(OutputsCMX)
clean-local:: clean-cmxa
install-local:: install-cmxa
@@ -260,18 +309,11 @@ $(OutputCMXA): $(LibraryCMXA)
$(Verb) $(CP) -f $< $@
$(Verb) $(CP) -f $(<:.cmxa=.a) $(@:.cmxa=.a)
-$(OcamlDir)/%.cmx: $(ObjDir)/%.cmx
- $(Verb) $(CP) -f $< $@
-
$(LibraryCMXA): $(ObjectsCMX)
$(Echo) "Archiving $(notdir $@) for $(BuildMode) build"
$(Verb) $(Archive.CMXA) $@ $(ObjectsCMX)
$(Verb) $(RM) -f $(@:.cmxa=.o)
-$(ObjDir)/%.cmx: $(ObjDir)/%.ml
- $(Echo) "Compiling optimized $(notdir $<) for $(BuildMode) build"
- $(Verb) $(Compile.CMX) $@ $<
-
clean-cmxa::
$(Verb) $(RM) -f $(OutputCMXA) $(OutputCMXA:.cmxa=.a) $(OutputsCMX)
@@ -295,7 +337,27 @@ uninstall-cmxa::
$(EchoCmd) "Uninstalling $(PROJ_libocamldir)/$$i"; \
$(RM) -f $(PROJ_libocamldir)/$$i; \
done
+endif
+endif
+
+##===- Build executables --------------------------------------------------===##
+
+ifdef TOOLNAME
+all-local:: $(OutputEXE)
+clean-local:: clean-exe
+
+$(OutputEXE): $(ToolEXE) $(OcamlDir)/.dir
+ $(Verb) $(CP) -f $< $@
+ifndef OCAMLOPT
+$(ToolEXE): $(ObjectsCMO) $(OcamlDir)/.dir
+ $(Echo) "Archiving $(notdir $@) for $(BuildMode) build"
+ $(Verb) $(Archive.EXE) $@ $<
+else
+$(ToolEXE): $(ObjectsCMX) $(OcamlDir)/.dir
+ $(Echo) "Archiving $(notdir $@) for $(BuildMode) build"
+ $(Verb) $(Archive.EXE) $@ $<
+endif
endif
##===- Generate documentation ---------------------------------------------===##
@@ -325,7 +387,10 @@ printcamlvars::
$(Echo) "LibraryCMA : " '$(LibraryCMA)'
$(Echo) "LibraryCMXA : " '$(LibraryCMXA)'
$(Echo) "OcamlSources1: " '$(OcamlSources1)'
+ $(Echo) "OcamlSources2: " '$(OcamlSources2)'
$(Echo) "OcamlSources : " '$(OcamlSources)'
+ $(Echo) "OcamlHeaders1: " '$(OcamlHeaders1)'
+ $(Echo) "OcamlHeaders2: " '$(OcamlHeaders2)'
$(Echo) "OcamlHeaders : " '$(OcamlHeaders)'
$(Echo) "ObjectsCMI : " '$(ObjectsCMI)'
$(Echo) "ObjectsCMO : " '$(ObjectsCMO)'
@@ -340,4 +405,6 @@ printcamlvars::
.PHONY: printcamlvars build-cmis \
clean-a clean-cmis clean-cma clean-cmxa \
install-a install-cmis install-cma install-cmxa \
- uninstall-a uninstall-cmis uninstall-cma uninstall-cmxa
+ install-exe \
+ uninstall-a uninstall-cmis uninstall-cma uninstall-cmxa \
+ uninstall-exe
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<.
#
@@ -9,7 +9,7 @@
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
#
-# Copyright (c) 2003-2009 University of Illinois at Urbana-Champaign.
+# Copyright (c) 2003-2010 University of Illinois at Urbana-Champaign.
## --------------------- ##
## M4sh Initialization. ##
## --------------------- ##
@@ -561,8 +561,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='llvm'
PACKAGE_TARNAME='-llvm-'
-PACKAGE_VERSION='2.7svn'
-PACKAGE_STRING='llvm 2.7svn'
+PACKAGE_VERSION='2.8svn'
+PACKAGE_STRING='llvm 2.8svn'
PACKAGE_BUGREPORT='llvmbugs@cs.uiuc.edu'
ac_unique_file="lib/VMCore/Module.cpp"
@@ -749,6 +749,7 @@ OCAMLOPT
OCAMLDEP
OCAMLDOC
GAS
+HAVE_LINK_RETAIN_SYMBOLS_FILE
INSTALL_LTDL_TRUE
INSTALL_LTDL_FALSE
CONVENIENCE_LTDL_TRUE
@@ -802,17 +803,17 @@ CPP
CXX
CXXFLAGS
CCC'
-ac_subdirs_all='projects/sample
+ac_subdirs_all='projects/llvm-gcc
+projects/test-suite
+projects/llvm-test
+projects/poolalloc
+projects/llvm-poolalloc
+projects/sample
projects/privbracket
projects/llvm-stacker
-projects/llvm-test
-projects/test-suite
projects/llvm-reopt
-projects/llvm-gcc
projects/llvm-java
projects/llvm-tv
-projects/llvm-poolalloc
-projects/poolalloc
projects/safecode
projects/llvm-kernel'
@@ -1316,7 +1317,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures llvm 2.7svn to adapt to many kinds of systems.
+\`configure' configures llvm 2.8svn to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1382,7 +1383,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of llvm 2.7svn:";;
+ short | recursive ) echo "Configuration of llvm 2.8svn:";;
esac
cat <<\_ACEOF
@@ -1533,7 +1534,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-llvm configure 2.7svn
+llvm configure 2.8svn
generated by GNU Autoconf 2.60
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1541,7 +1542,7 @@ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
-Copyright (c) 2003-2009 University of Illinois at Urbana-Champaign.
+Copyright (c) 2003-2010 University of Illinois at Urbana-Champaign.
_ACEOF
exit
fi
@@ -1549,7 +1550,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by llvm $as_me 2.7svn, which was
+It was created by llvm $as_me 2.8svn, which was
generated by GNU Autoconf 2.60. Invocation command line was
$ $0 $@
@@ -1903,7 +1904,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
-LLVM_COPYRIGHT="Copyright (c) 2003-2009 University of Illinois at Urbana-Champaign."
+LLVM_COPYRIGHT="Copyright (c) 2003-2010 University of Illinois at Urbana-Champaign."
@@ -1951,6 +1952,33 @@ echo "$as_me: error: Already configured in ${srcdir}" >&2;}
fi
fi
+
+
+if test -d ${srcdir}/projects/llvm-gcc ; then
+ subdirs="$subdirs projects/llvm-gcc"
+
+fi
+
+if test -d ${srcdir}/projects/test-suite ; then
+ subdirs="$subdirs projects/test-suite"
+
+fi
+
+if test -d ${srcdir}/projects/llvm-test ; then
+ subdirs="$subdirs projects/llvm-test"
+
+fi
+
+if test -d ${srcdir}/projects/poolalloc ; then
+ subdirs="$subdirs projects/poolalloc"
+
+fi
+
+if test -d ${srcdir}/projects/llvm-poolalloc ; then
+ subdirs="$subdirs projects/llvm-poolalloc"
+
+fi
+
for i in `ls ${srcdir}/projects`
do
if test -d ${srcdir}/projects/${i} ; then
@@ -1962,28 +1990,21 @@ do
;;
llvm-stacker) subdirs="$subdirs projects/llvm-stacker"
;;
- # llvm-test is the old name of the test-suite, kept here for backwards
- # compatibility
- llvm-test) subdirs="$subdirs projects/llvm-test"
- ;;
- test-suite) subdirs="$subdirs projects/test-suite"
- ;;
llvm-reopt) subdirs="$subdirs projects/llvm-reopt"
;;
- llvm-gcc) subdirs="$subdirs projects/llvm-gcc"
- ;;
llvm-java) subdirs="$subdirs projects/llvm-java"
;;
llvm-tv) subdirs="$subdirs projects/llvm-tv"
;;
- llvm-poolalloc) subdirs="$subdirs projects/llvm-poolalloc"
- ;;
- poolalloc) subdirs="$subdirs projects/poolalloc"
- ;;
safecode) subdirs="$subdirs projects/safecode"
;;
llvm-kernel) subdirs="$subdirs projects/llvm-kernel"
;;
+ llvm-gcc) ;;
+ test-suite) ;;
+ llvm-test) ;;
+ poolalloc) ;;
+ llvm-poolalloc) ;;
*)
{ echo "$as_me:$LINENO: WARNING: Unknown project (${i}) won't be configured automatically" >&5
echo "$as_me: WARNING: Unknown project (${i}) won't be configured automatically" >&2;}
@@ -2146,6 +2167,11 @@ else
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"
@@ -2240,6 +2266,8 @@ else
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*)
@@ -5142,8 +5170,8 @@ echo $ECHO_N "checking optimization flags... $ECHO_C" >&6; }
case "$withval" in
default)
case "$llvm_cv_os_type" in
- MingW) optimize_option=-O3 ;;
- *) optimize_option=-O2 ;;
+ MingW) optimize_option=-O2 ;;
+ *) optimize_option=-O3 ;;
esac ;;
*) optimize_option="$withval" ;;
esac
@@ -8606,7 +8634,7 @@ cat >>conftest.$ac_ext <<_ACEOF
int
main ()
{
-int main() { return 0; }
+
;
return 0;
}
@@ -8698,7 +8726,7 @@ cat >>conftest.$ac_ext <<_ACEOF
int
main ()
{
-int main() { return 0; }
+
;
return 0;
}
@@ -8767,6 +8795,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
@@ -11136,7 +11274,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+ else
+ ac_cpp_err=
+ fi
+else
+ ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
+## ----------------------------------- ##
+## Report this to llvmbugs@cs.uiuc.edu ##
+## ----------------------------------- ##
+_ASBOX
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
if test "$ENABLE_THREADS" -eq 1 ; then
for ac_header in pthread.h
@@ -17560,7 +17867,8 @@ done
-for ac_func in mktemp realpath sbrk setrlimit strdup
+
+for ac_func in mktemp posix_spawn realpath sbrk setrlimit strdup
do
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
{ echo "$as_me:$LINENO: checking for $ac_func" >&5
@@ -20439,7 +20747,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by llvm $as_me 2.7svn, which was
+This file was extended by llvm $as_me 2.8svn, which was
generated by GNU Autoconf 2.60. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -20492,7 +20800,7 @@ Report bugs to ."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-llvm config.status 2.7svn
+llvm config.status 2.8svn
configured by $0, generated by GNU Autoconf 2.60,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
@@ -20880,6 +21188,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
@@ -20923,7 +21232,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/device/include/llvm/Config/config.h b/device/include/llvm/Config/config.h
index d8128de76c4..3dbc7373622 100644
--- a/device/include/llvm/Config/config.h
+++ b/device/include/llvm/Config/config.h
@@ -248,7 +248,7 @@
#define HAVE_MMAP_ANONYMOUS 1
/* Define if mmap() can map files into memory */
-#define HAVE_MMAP_FILE
+#define HAVE_MMAP_FILE
/* Define to 1 if you have the header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
@@ -448,7 +448,7 @@
#define LLVM_BINDIR "/usr/local/google/llvm/bin"
/* Time at which LLVM was configured */
-#define LLVM_CONFIGTIME "Fri Feb 26 12:17:10 CST 2010"
+#define LLVM_CONFIGTIME "Tue Apr 27 18:30:43 CST 2010"
/* Installation directory for data files */
#define LLVM_DATADIR "/usr/local/google/llvm/share/llvm"
@@ -544,13 +544,13 @@
#define PACKAGE_NAME "llvm"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "llvm 2.7svn"
+#define PACKAGE_STRING "llvm 2.8svn"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "-llvm-"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "2.7svn"
+#define PACKAGE_VERSION "2.8svn"
/* Define as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
diff --git a/docs/CodeGenerator.html b/docs/CodeGenerator.html
index 5baa4a7259b..6f39e018281 100644
--- a/docs/CodeGenerator.html
+++ b/docs/CodeGenerator.html
@@ -86,6 +86,7 @@
Target-specific Implementation Notes
- Tail call optimization
+ - Sibling call optimization
- The X86 backend
- The PowerPC backend
@@ -1089,8 +1090,8 @@ def FADDS : AForm_2<59, 21,
The portion of the instruction definition in bold indicates the pattern used
to match the instruction. The DAG operators
(like fmul/fadd) are defined in
- the lib/Target/TargetSelectionDAG.td file. "F4RC" is the
- register class of the input and result values.
+ the include/llvm/Target/TargetSelectionDAG.td file. "
+ F4RC" is the register class of the input and result values.
The TableGen DAG instruction selector generator reads the instruction
patterns in the .td file and automatically builds parts of the
@@ -1429,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.
@@ -1678,7 +1679,8 @@ $ llc -regalloc=linearscan file.bc -o ln.s;
supported on x86/x86-64 and PowerPC. It is performed if:
- - Caller and callee have the calling convention fastcc.
+ - Caller and callee have the calling convention fastcc or
+ cc 10 (GHC call convention).
- The call is a tail call - in tail position (ret immediately follows call
and ret uses value of call or is void).
@@ -1734,6 +1736,50 @@ define fastcc i32 @tailcaller(i32 %in1, i32 %in2) {
+
+
+
+
Sibling call optimization is a restricted form of tail call optimization.
+ Unlike tail call optimization described in the previous section, it can be
+ performed automatically on any tail calls when -tailcallopt option
+ is not specified.
+
+
Sibling call optimization is currently performed on x86/x86-64 when the
+ following constraints are met:
+
+
+ - Caller and callee have the same calling convention. It can be either
+ c or fastcc.
+
+
- The call is a tail call - in tail position (ret immediately follows call
+ and ret uses value of call or is void).
+
+ - Caller and callee have matching return type or the callee result is not
+ used.
+
+
- If any of the callee arguments are being passed in stack, they must be
+ available in caller's own incoming argument stack and the frame offsets
+ must be the same.
+
+
+
Example:
+
+
+declare i32 @bar(i32, i32)
+
+define i32 @foo(i32 %a, i32 %b, i32 %c) {
+entry:
+ %0 = tail call i32 @bar(i32 %a, i32 %b)
+ ret i32 %0
+}
+
+
+
+
+
+
diff --git a/docs/GoldPlugin.html b/docs/GoldPlugin.html
index 77a417f5710..66e099bad0a 100644
--- a/docs/GoldPlugin.html
+++ b/docs/GoldPlugin.html
@@ -27,7 +27,7 @@
Building with link time optimization requires cooperation from the
system linker. LTO support on Linux systems requires that you use
the gold linker which supports
-LTO via plugins. This is the same system used by the upcoming
+LTO via plugins. This is the same mechanism used by the
GCC LTO
project.
The LLVM gold plugin implements the
@@ -41,10 +41,15 @@ The same plugin can also be used by other tools such as ar and
-
You need to build gold with plugin support and build the LLVMgold
-plugin.
+
You need to have gold with plugin support and build the LLVMgold
+plugin. Check whether you have gold running /usr/bin/ld -v. It will
+report “GNU gold” or else “GNU ld” if not. If you have
+gold, check for plugin support by running /usr/bin/ld -plugin. If it
+complains “missing argument” then you have plugin support. If not,
+such as an “unknown option” error then you will either need to
+build gold or install a version with plugin support.
- - Build gold with plugin support:
+
- To build gold with plugin support:
mkdir binutils
cd binutils
@@ -56,9 +61,11 @@ cd build
../src/configure --enable-gold --enable-plugins
make all-gold
- That should leave you with binutils/build/gold/ld-new which supports the
--plugin option.
-
+ That should leave you with binutils/build/gold/ld-new which supports the -plugin option. It also built would have
+binutils/build/binutils/ar and nm-new which support plugins
+but don't have a visible -plugin option, instead relying on the gold plugin
+being present in ../lib/bfd-plugins relative to where the binaries are
+placed.
- Build the LLVMgold plugin: Configure LLVM with
--with-binutils-include=/path/to/binutils/src/include and run
make.
@@ -72,7 +79,7 @@ make all-gold
the plugin .so file. To find out what link command gcc
would run in a given situation, run gcc -v [...] and look
for the line where it runs collect2. Replace that with
- ld-new -plugin /path/to/LLVMgold.so to test it out. Once you're
+ ld-new -plugin /path/to/libLLVMgold.so to test it out. Once you're
ready to switch to using gold, backup your existing /usr/bin/ld
then replace it with ld-new.
You can produce bitcode files from llvm-gcc using
@@ -83,6 +90,11 @@ make all-gold
passes the -plugin option to ld. It will not look for an alternate
linker, which is why you need gold to be the installed system linker in your
path.
+ If you want ar and nm to work seamlessly as well, install
+ libLLVMgold.so to /usr/lib/bfd-plugins. If you built your
+ own gold, be sure to install the ar and nm-new you built to
+ /usr/bin.
+
@@ -141,8 +153,9 @@ $ llvm-gcc -use-gold-plugin a.a b.o -o main # <-- link with LLVMgold plugin
-
gold, ar and nm all support plugins now, so everything should be
- in place for an easy to use LTO build of autotooled projects:
+
Once your system ld, ar and nm all support LLVM
+ bitcode, everything is in place for an easy to use LTO build of autotooled
+ projects:
- Follow the instructions on how to build libLLVMgold.so.
- Install the newly built binutils to $PREFIX
@@ -194,7 +207,7 @@ as much as gold could without the plugin.
src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01">
Nick Lewycky
The LLVM Compiler Infrastructure
- Last modified: $Date: 2009-01-01 23:10:51 -0800 (Thu, 01 Jan 2009) $
+ Last modified: $Date: 2010-04-16 23:58:21 -0800 (Fri, 16 Apr 2010) $