From cd81d94322a39503e4a3e87b6ee03d4fcb3465fb Mon Sep 17 00:00:00 2001
From: Stephen Hines
Date: Mon, 21 Jul 2014 00:45:20 -0700
Subject: Update LLVM for rebase to r212749.
Includes a cherry-pick of:
r212948 - fixes a small issue with atomic calls
Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
---
.gitignore | 2 +
Android.mk | 2 +-
CMakeLists.txt | 16 +-
CREDITS.TXT | 16 +-
Makefile.rules | 3 +-
autoconf/configure.ac | 80 -
autoconf/m4/link_options.m4 | 2 +-
autoconf/m4/path_tclsh.m4 | 39 -
.../ocaml/executionengine/llvm_executionengine.mli | 2 +
bindings/ocaml/llvm/llvm.ml | 9 +-
bindings/ocaml/llvm/llvm.mli | 71 +-
bindings/ocaml/target/target_ocaml.c | 4 +-
cmake/config-ix.cmake | 31 +-
cmake/modules/AddLLVM.cmake | 23 +-
cmake/modules/HandleLLVMOptions.cmake | 81 +-
configure | 4 +-
docs/Atomics.rst | 10 +-
docs/CMake.rst | 8 +-
docs/CodeGenerator.rst | 6 +-
docs/CodingStandards.rst | 5 +-
docs/CommandGuide/bugpoint.rst | 4 -
docs/CommandGuide/opt.rst | 4 -
docs/Extensions.rst | 49 +-
docs/GarbageCollection.rst | 2 +-
docs/GettingStarted.rst | 23 +-
docs/GettingStartedVS.rst | 3 +
docs/LangRef.rst | 535 ++-
docs/Lexicon.rst | 2 +-
docs/Passes.rst | 41 -
docs/Phabricator.rst | 29 +-
docs/ProgrammersManual.rst | 97 +-
docs/ReleaseNotes.rst | 10 +-
docs/SourceLevelDebugging.rst | 35 +-
docs/TestingGuide.rst | 3 +-
docs/Vectorizers.rst | 83 +
docs/WritingAnLLVMPass.rst | 1 -
include/llvm-c/Core.h | 16 +-
include/llvm-c/module.modulemap | 1 -
include/llvm/ADT/APSInt.h | 2 +-
include/llvm/ADT/ArrayRef.h | 6 +
include/llvm/ADT/BitVector.h | 5 +-
include/llvm/ADT/DenseMap.h | 9 +-
include/llvm/ADT/DenseSet.h | 6 +-
include/llvm/ADT/FoldingSet.h | 8 +
include/llvm/ADT/Hashing.h | 4 +-
include/llvm/ADT/IntrusiveRefCntPtr.h | 47 +-
include/llvm/ADT/MapVector.h | 15 +-
include/llvm/ADT/OwningPtr.h | 165 -
include/llvm/ADT/ScopedHashTable.h | 4 +-
include/llvm/ADT/SmallBitVector.h | 3 +-
include/llvm/ADT/SmallPtrSet.h | 5 +-
include/llvm/ADT/SmallSet.h | 5 +-
include/llvm/ADT/SmallVector.h | 15 +-
include/llvm/ADT/SparseBitVector.h | 3 +-
include/llvm/ADT/SparseMultiSet.h | 5 +-
include/llvm/ADT/SparseSet.h | 5 +-
include/llvm/ADT/StringMap.h | 64 +-
include/llvm/ADT/Triple.h | 11 +-
include/llvm/ADT/Twine.h | 4 +
include/llvm/ADT/UniqueVector.h | 19 +-
include/llvm/Analysis/AliasAnalysis.h | 8 +
include/llvm/Analysis/BlockFrequencyInfoImpl.h | 691 +---
include/llvm/Analysis/JumpInstrTableInfo.h | 60 +
include/llvm/Analysis/Passes.h | 4 +
include/llvm/Analysis/RegionInfo.h | 10 +
include/llvm/Analysis/TargetTransformInfo.h | 1 +
include/llvm/Analysis/ValueTracking.h | 5 +-
include/llvm/Bitcode/LLVMBitCodes.h | 14 +-
include/llvm/Bitcode/ReaderWriter.h | 11 +-
include/llvm/CodeGen/Analysis.h | 4 +-
include/llvm/CodeGen/AsmPrinter.h | 1 -
include/llvm/CodeGen/CommandFlags.h | 16 +
include/llvm/CodeGen/FastISel.h | 13 +-
include/llvm/CodeGen/ISDOpcodes.h | 37 +
include/llvm/CodeGen/JumpInstrTables.h | 104 +
include/llvm/CodeGen/LexicalScopes.h | 6 +-
include/llvm/CodeGen/LiveIntervalAnalysis.h | 11 +
include/llvm/CodeGen/MachineBasicBlock.h | 4 +-
include/llvm/CodeGen/MachineFrameInfo.h | 3 +
include/llvm/CodeGen/MachineInstr.h | 5 +-
include/llvm/CodeGen/MachineScheduler.h | 217 +-
include/llvm/CodeGen/Passes.h | 19 +
include/llvm/CodeGen/RegisterPressure.h | 2 -
include/llvm/CodeGen/ScheduleDFS.h | 2 -
include/llvm/CodeGen/SelectionDAG.h | 87 +-
include/llvm/CodeGen/SelectionDAGNodes.h | 86 +-
include/llvm/CodeGen/StackMapLivenessAnalysis.h | 15 +-
.../llvm/CodeGen/TargetLoweringObjectFileImpl.h | 12 +-
include/llvm/Config/config.h.cmake | 155 +-
include/llvm/Config/config.h.in | 156 +-
include/llvm/Config/llvm-config.h.cmake | 41 +-
include/llvm/Config/llvm-config.h.in | 41 +-
include/llvm/ExecutionEngine/ExecutionEngine.h | 29 +-
include/llvm/ExecutionEngine/ObjectBuffer.h | 3 +-
include/llvm/ExecutionEngine/RuntimeDyld.h | 2 +
include/llvm/ExecutionEngine/RuntimeDyldChecker.h | 98 +
.../llvm/ExecutionEngine/SectionMemoryManager.h | 5 +-
include/llvm/IR/Attributes.h | 1 +
include/llvm/IR/AutoUpgrade.h | 5 +
include/llvm/IR/Comdat.h | 66 +
include/llvm/IR/Constant.h | 14 +
include/llvm/IR/DIBuilder.h | 13 +-
include/llvm/IR/DataLayout.h | 4 +-
include/llvm/IR/DebugInfo.h | 16 +-
include/llvm/IR/DebugLoc.h | 2 +-
include/llvm/IR/DiagnosticInfo.h | 8 -
include/llvm/IR/Dominators.h | 4 -
include/llvm/IR/GVMaterializer.h | 9 +-
include/llvm/IR/GlobalAlias.h | 34 +-
include/llvm/IR/GlobalObject.h | 14 +-
include/llvm/IR/GlobalValue.h | 53 +-
include/llvm/IR/GlobalVariable.h | 21 -
include/llvm/IR/IRBuilder.h | 29 +
include/llvm/IR/Instructions.h | 36 +-
include/llvm/IR/Intrinsics.h | 3 +
include/llvm/IR/Intrinsics.td | 4 +
include/llvm/IR/IntrinsicsAArch64.td | 7 +
include/llvm/IR/IntrinsicsARM.td | 17 +-
include/llvm/IR/IntrinsicsNVVM.td | 183 +-
include/llvm/IR/IntrinsicsR600.td | 36 +
include/llvm/IR/IntrinsicsX86.td | 36 +-
include/llvm/IR/LegacyPassNameParser.h | 2 +-
include/llvm/IR/Module.h | 31 +-
include/llvm/IR/User.h | 10 +-
include/llvm/IR/Value.h | 26 +-
include/llvm/IR/ValueMap.h | 19 +-
include/llvm/IRReader/IRReader.h | 10 +-
include/llvm/InitializePasses.h | 3 +
include/llvm/LTO/LTOModule.h | 95 +-
include/llvm/LinkAllPasses.h | 2 +
include/llvm/Linker/Linker.h | 2 +
include/llvm/MC/ConstantPools.h | 80 +
include/llvm/MC/MCAnalysis/MCAtom.h | 199 ++
include/llvm/MC/MCAnalysis/MCFunction.h | 142 +
include/llvm/MC/MCAnalysis/MCModule.h | 134 +
include/llvm/MC/MCAnalysis/MCModuleYAML.h | 40 +
include/llvm/MC/MCAsmInfo.h | 1006 +++---
include/llvm/MC/MCAssembler.h | 2 +-
include/llvm/MC/MCAtom.h | 199 --
include/llvm/MC/MCContext.h | 37 +-
include/llvm/MC/MCDwarf.h | 7 +-
include/llvm/MC/MCELFStreamer.h | 1 -
include/llvm/MC/MCELFSymbolFlags.h | 1 +
include/llvm/MC/MCExpr.h | 3 +-
include/llvm/MC/MCFunction.h | 142 -
include/llvm/MC/MCLinkerOptimizationHint.h | 15 +-
include/llvm/MC/MCMachObjectWriter.h | 2 +
include/llvm/MC/MCModule.h | 134 -
include/llvm/MC/MCModuleYAML.h | 40 -
include/llvm/MC/MCObjectFileInfo.h | 15 +-
include/llvm/MC/MCObjectStreamer.h | 9 +-
include/llvm/MC/MCParser/AsmLexer.h | 4 +-
include/llvm/MC/MCParser/MCAsmParser.h | 32 +-
include/llvm/MC/MCSectionCOFF.h | 18 +-
include/llvm/MC/MCStreamer.h | 114 +-
include/llvm/MC/MCTargetAsmParser.h | 20 +-
include/llvm/MC/MCTargetOptions.h | 4 +-
include/llvm/MC/MCTargetOptionsCommandFlags.h | 9 +
include/llvm/MC/MCWinCOFFStreamer.h | 3 +-
include/llvm/MC/StringTableBuilder.h | 59 +
include/llvm/MC/YAML.h | 94 +
include/llvm/Object/Archive.h | 18 +-
include/llvm/Object/Binary.h | 8 +-
include/llvm/Object/COFF.h | 134 +-
include/llvm/Object/COFFYAML.h | 4 +-
include/llvm/Object/ELF.h | 60 +-
include/llvm/Object/ELFObjectFile.h | 240 +-
include/llvm/Object/ELFYAML.h | 13 +-
include/llvm/Object/Error.h | 34 +-
include/llvm/Object/IRObjectFile.h | 21 +-
include/llvm/Object/MachO.h | 123 +-
include/llvm/Object/MachOUniversal.h | 19 +-
include/llvm/Object/ObjectFile.h | 231 +-
include/llvm/Object/RelocVisitor.h | 6 +-
include/llvm/Object/StringTableBuilder.h | 59 -
include/llvm/Object/SymbolicFile.h | 36 +-
include/llvm/Object/YAML.h | 117 -
include/llvm/Option/ArgList.h | 8 +
include/llvm/PassInfo.h | 147 +
include/llvm/PassRegistry.h | 27 +-
include/llvm/PassSupport.h | 128 +-
include/llvm/ProfileData/InstrProf.h | 26 +-
include/llvm/ProfileData/InstrProfReader.h | 49 +-
include/llvm/ProfileData/InstrProfWriter.h | 5 +-
include/llvm/Support/ARMBuildAttributes.h | 15 +
include/llvm/Support/ARMWinEH.h | 384 ++
include/llvm/Support/COFF.h | 10 +-
include/llvm/Support/Compiler.h | 6 +
include/llvm/Support/ConvertUTF.h | 14 +-
include/llvm/Support/CrashRecoveryContext.h | 3 +
include/llvm/Support/DataTypes.h.cmake | 121 +-
include/llvm/Support/DataTypes.h.in | 119 +-
include/llvm/Support/Dwarf.h | 1 -
include/llvm/Support/ELF.h | 27 +-
include/llvm/Support/Endian.h | 2 +-
include/llvm/Support/Errc.h | 86 +
include/llvm/Support/ErrorHandling.h | 5 -
include/llvm/Support/ErrorOr.h | 42 +-
include/llvm/Support/FEnv.h | 56 -
include/llvm/Support/FileOutputBuffer.h | 10 +-
include/llvm/Support/FileSystem.h | 237 +-
include/llvm/Support/Format.h | 102 +-
include/llvm/Support/GenericDomTree.h | 4 +
include/llvm/Support/GraphWriter.h | 2 +-
include/llvm/Support/LockFileManager.h | 5 +-
include/llvm/Support/MachO.h | 23 +-
include/llvm/Support/ManagedStatic.h | 3 -
include/llvm/Support/MathExtras.h | 9 +
include/llvm/Support/Memory.h | 10 +-
include/llvm/Support/MemoryBuffer.h | 52 +-
include/llvm/Support/Process.h | 11 +-
include/llvm/Support/Program.h | 7 +-
include/llvm/Support/RandomNumberGenerator.h | 57 +
include/llvm/Support/ScaledNumber.h | 897 +++++
include/llvm/Support/SourceMgr.h | 122 +-
include/llvm/Support/SpecialCaseList.h | 96 +
include/llvm/Support/StreamableMemoryObject.h | 7 +-
include/llvm/Support/StringPool.h | 7 +-
include/llvm/Support/SwapByteOrder.h | 31 +-
include/llvm/Support/TargetRegistry.h | 27 +-
include/llvm/Support/Threading.h | 29 +-
include/llvm/Support/WindowsError.h | 19 +
include/llvm/Support/YAMLTraits.h | 8 +-
include/llvm/Support/system_error.h | 901 -----
include/llvm/TableGen/SetTheory.h | 142 +
include/llvm/Target/Target.td | 5 +
include/llvm/Target/TargetFrameLowering.h | 13 +
include/llvm/Target/TargetInstrInfo.h | 18 +-
include/llvm/Target/TargetLowering.h | 70 +-
include/llvm/Target/TargetLoweringObjectFile.h | 6 +-
include/llvm/Target/TargetOptions.h | 17 +-
include/llvm/Target/TargetRegisterInfo.h | 6 -
include/llvm/Target/TargetSelectionDAGInfo.h | 2 +-
include/llvm/Target/TargetSubtargetInfo.h | 16 +
include/llvm/Transforms/IPO/PassManagerBuilder.h | 1 +
include/llvm/Transforms/Instrumentation.h | 12 +-
include/llvm/Transforms/Scalar.h | 7 +
include/llvm/Transforms/Utils/Local.h | 2 +-
include/llvm/Transforms/Utils/LoopUtils.h | 4 +-
include/llvm/Transforms/Utils/SpecialCaseList.h | 114 -
include/llvm/Transforms/Utils/VectorUtils.h | 15 +
lib/Analysis/AliasAnalysis.cpp | 40 +-
lib/Analysis/Analysis.cpp | 1 +
lib/Analysis/Android.mk | 1 +
lib/Analysis/BasicAliasAnalysis.cpp | 220 +-
lib/Analysis/BlockFrequencyInfoImpl.cpp | 337 +-
lib/Analysis/CMakeLists.txt | 1 +
lib/Analysis/ConstantFolding.cpp | 43 +-
lib/Analysis/CostModel.cpp | 37 +-
lib/Analysis/IPA/CallGraphSCCPass.cpp | 8 +-
lib/Analysis/IPA/InlineCost.cpp | 19 +-
lib/Analysis/IVUsers.cpp | 5 +-
lib/Analysis/InstructionSimplify.cpp | 170 +-
lib/Analysis/JumpInstrTableInfo.cpp | 40 +
lib/Analysis/LoopPass.cpp | 5 +-
lib/Analysis/NoAliasAnalysis.cpp | 8 +
lib/Analysis/RegionPass.cpp | 8 +-
lib/Analysis/ScalarEvolution.cpp | 13 +-
lib/Analysis/ScalarEvolutionExpander.cpp | 3 +-
lib/Analysis/ScalarEvolutionNormalization.cpp | 2 +-
lib/Analysis/ValueTracking.cpp | 23 +-
lib/AsmParser/LLLexer.cpp | 57 +-
lib/AsmParser/LLLexer.h | 1 +
lib/AsmParser/LLParser.cpp | 271 +-
lib/AsmParser/LLParser.h | 19 +-
lib/AsmParser/LLToken.h | 14 +-
lib/AsmParser/Parser.cpp | 14 +-
lib/Bitcode/Reader/BitReader.cpp | 4 +-
lib/Bitcode/Reader/BitcodeReader.cpp | 301 +-
lib/Bitcode/Reader/BitcodeReader.h | 90 +-
lib/Bitcode/Reader/BitstreamReader.cpp | 4 +-
lib/Bitcode/Writer/BitcodeWriter.cpp | 43 +-
lib/Bitcode/Writer/ValueEnumerator.cpp | 43 +-
lib/Bitcode/Writer/ValueEnumerator.h | 9 +
lib/CodeGen/Analysis.cpp | 11 +-
lib/CodeGen/Android.mk | 2 +
lib/CodeGen/AsmPrinter/ARMException.cpp | 7 +-
lib/CodeGen/AsmPrinter/Android.mk | 66 +-
lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 102 +-
lib/CodeGen/AsmPrinter/CMakeLists.txt | 2 +-
.../AsmPrinter/DbgValueHistoryCalculator.cpp | 79 +-
lib/CodeGen/AsmPrinter/DwarfCFIException.cpp | 33 +-
lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 161 +-
lib/CodeGen/AsmPrinter/DwarfDebug.h | 33 +-
lib/CodeGen/AsmPrinter/DwarfException.cpp | 721 ----
lib/CodeGen/AsmPrinter/DwarfException.h | 134 +-
lib/CodeGen/AsmPrinter/DwarfUnit.cpp | 62 +-
lib/CodeGen/AsmPrinter/DwarfUnit.h | 2 +
lib/CodeGen/AsmPrinter/EHStreamer.cpp | 706 ++++
lib/CodeGen/AsmPrinter/EHStreamer.h | 138 +
lib/CodeGen/AsmPrinter/Win64Exception.cpp | 26 +-
lib/CodeGen/AsmPrinter/WinCodeViewLineTables.cpp | 2 +-
lib/CodeGen/AtomicExpandLoadLinkedPass.cpp | 133 +-
lib/CodeGen/BasicTargetTransformInfo.cpp | 23 +
lib/CodeGen/BranchFolding.cpp | 15 +-
lib/CodeGen/CMakeLists.txt | 2 +
lib/CodeGen/CodeGenPrepare.cpp | 22 +-
lib/CodeGen/CriticalAntiDepBreaker.cpp | 51 +-
lib/CodeGen/CriticalAntiDepBreaker.h | 6 +-
lib/CodeGen/GlobalMerge.cpp | 361 ++
lib/CodeGen/JumpInstrTables.cpp | 301 ++
lib/CodeGen/LLVMTargetMachine.cpp | 12 +-
lib/CodeGen/LiveDebugVariables.cpp | 15 +-
lib/CodeGen/LiveDebugVariables.h | 3 +
lib/CodeGen/LiveIntervalAnalysis.cpp | 27 +-
lib/CodeGen/MachineBasicBlock.cpp | 2 +-
lib/CodeGen/MachineFunction.cpp | 45 +-
lib/CodeGen/MachineScheduler.cpp | 336 +-
lib/CodeGen/Passes.cpp | 16 +-
lib/CodeGen/PeepholeOptimizer.cpp | 381 +-
lib/CodeGen/PrologEpilogInserter.cpp | 87 +-
lib/CodeGen/RegAllocGreedy.cpp | 22 +-
lib/CodeGen/RegisterPressure.cpp | 5 +-
lib/CodeGen/ScheduleDAGInstrs.cpp | 5 +-
lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 529 ++-
lib/CodeGen/SelectionDAG/FastISel.cpp | 158 +-
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 154 +-
lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp | 91 +-
lib/CodeGen/SelectionDAG/LegalizeTypes.cpp | 11 +-
lib/CodeGen/SelectionDAG/LegalizeTypes.h | 6 +-
lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp | 22 +-
lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp | 278 +-
lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp | 135 +-
lib/CodeGen/SelectionDAG/ResourcePriorityQueue.cpp | 2 +-
lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp | 3 +-
lib/CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp | 3 +-
lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 389 +-
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 318 +-
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h | 4 +-
lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp | 4 +
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 51 +-
lib/CodeGen/SelectionDAG/TargetLowering.cpp | 41 +-
.../SelectionDAG/TargetSelectionDAGInfo.cpp | 4 +-
lib/CodeGen/StackMapLivenessAnalysis.cpp | 20 +-
lib/CodeGen/TargetInstrInfo.cpp | 2 +-
lib/CodeGen/TargetLoweringBase.cpp | 110 +-
lib/CodeGen/TargetLoweringObjectFileImpl.cpp | 170 +-
lib/DebugInfo/DWARFContext.cpp | 2 +-
lib/DebugInfo/DWARFDebugAranges.cpp | 84 +-
lib/DebugInfo/DWARFDebugAranges.h | 32 +-
lib/DebugInfo/DWARFDebugInfoEntry.cpp | 10 +
lib/DebugInfo/DWARFDebugInfoEntry.h | 2 +
lib/DebugInfo/DWARFUnit.cpp | 7 +-
lib/ExecutionEngine/ExecutionEngine.cpp | 85 +-
.../IntelJITEvents/IntelJITEventListener.cpp | 4 +-
lib/ExecutionEngine/Interpreter/Interpreter.cpp | 2 +-
lib/ExecutionEngine/JIT/JIT.cpp | 44 +-
lib/ExecutionEngine/JIT/JIT.h | 12 +-
lib/ExecutionEngine/JIT/JITEmitter.cpp | 42 +-
lib/ExecutionEngine/MCJIT/MCJIT.cpp | 8 +-
lib/ExecutionEngine/MCJIT/SectionMemoryManager.cpp | 23 +-
lib/ExecutionEngine/RuntimeDyld/Android.mk | 1 +
lib/ExecutionEngine/RuntimeDyld/CMakeLists.txt | 1 +
lib/ExecutionEngine/RuntimeDyld/LLVMBuild.txt | 2 +-
.../RuntimeDyld/ObjectImageCommon.h | 3 +-
lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp | 8 +-
.../RuntimeDyld/RuntimeDyldChecker.cpp | 641 ++++
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp | 217 +-
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h | 6 +-
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h | 23 +-
.../RuntimeDyld/RuntimeDyldMachO.cpp | 127 +-
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h | 9 +-
lib/IR/Android.mk | 1 +
lib/IR/AsmWriter.cpp | 87 +-
lib/IR/AsmWriter.h | 4 +
lib/IR/Attributes.cpp | 5 +-
lib/IR/AutoUpgrade.cpp | 23 +
lib/IR/CMakeLists.txt | 1 +
lib/IR/Comdat.cpp | 25 +
lib/IR/ConstantFold.cpp | 34 +-
lib/IR/Constants.cpp | 88 +-
lib/IR/Core.cpp | 49 +-
lib/IR/DIBuilder.cpp | 38 +-
lib/IR/DebugInfo.cpp | 38 +-
lib/IR/DebugLoc.cpp | 2 +-
lib/IR/DiagnosticInfo.cpp | 2 +-
lib/IR/Function.cpp | 5 +
lib/IR/GCOV.cpp | 10 +-
lib/IR/Globals.cpp | 56 +-
lib/IR/Instruction.cpp | 17 +-
lib/IR/Instructions.cpp | 41 +-
lib/IR/Metadata.cpp | 2 +-
lib/IR/Module.cpp | 50 +-
lib/IR/Pass.cpp | 30 +-
lib/IR/PassRegistry.cpp | 114 +-
lib/IR/Value.cpp | 66 +-
lib/IR/Verifier.cpp | 120 +-
lib/IRReader/IRReader.cpp | 39 +-
lib/LTO/LLVMBuild.txt | 2 +-
lib/LTO/LTOCodeGenerator.cpp | 34 +-
lib/LTO/LTOModule.cpp | 486 +--
lib/Linker/LinkModules.cpp | 337 +-
lib/MC/Android.mk | 9 +-
lib/MC/CMakeLists.txt | 10 +-
lib/MC/ConstantPools.cpp | 95 +
lib/MC/ELFObjectWriter.cpp | 8 +-
lib/MC/LLVMBuild.txt | 4 +-
lib/MC/MCAnalysis/Android.mk | 37 +
lib/MC/MCAnalysis/CMakeLists.txt | 8 +
lib/MC/MCAnalysis/LLVMBuild.txt | 5 +
lib/MC/MCAnalysis/MCAtom.cpp | 114 +
lib/MC/MCAnalysis/MCFunction.cpp | 76 +
lib/MC/MCAnalysis/MCModule.cpp | 142 +
lib/MC/MCAnalysis/MCModuleYAML.cpp | 464 +++
lib/MC/MCAnalysis/MCObjectDisassembler.cpp | 574 +++
lib/MC/MCAnalysis/MCObjectSymbolizer.cpp | 268 ++
lib/MC/MCAnalysis/Makefile | 14 +
lib/MC/MCAsmInfo.cpp | 5 +-
lib/MC/MCAsmStreamer.cpp | 111 +-
lib/MC/MCAssembler.cpp | 29 +-
lib/MC/MCAtom.cpp | 114 -
lib/MC/MCContext.cpp | 53 +-
lib/MC/MCDwarf.cpp | 221 +-
lib/MC/MCELFStreamer.cpp | 4 -
lib/MC/MCFunction.cpp | 76 -
lib/MC/MCMachOStreamer.cpp | 4 -
lib/MC/MCModule.cpp | 142 -
lib/MC/MCModuleYAML.cpp | 464 ---
lib/MC/MCNullStreamer.cpp | 66 -
lib/MC/MCObjectDisassembler.cpp | 574 ---
lib/MC/MCObjectFileInfo.cpp | 136 +-
lib/MC/MCObjectStreamer.cpp | 51 +-
lib/MC/MCObjectSymbolizer.cpp | 268 --
lib/MC/MCParser/AsmLexer.cpp | 23 +-
lib/MC/MCParser/AsmParser.cpp | 203 +-
lib/MC/MCParser/COFFAsmParser.cpp | 92 +-
lib/MC/MCParser/DarwinAsmParser.cpp | 2 +-
lib/MC/MCParser/ELFAsmParser.cpp | 104 +-
lib/MC/MCSectionCOFF.cpp | 9 +-
lib/MC/MCStreamer.cpp | 137 +-
lib/MC/MCTargetOptions.cpp | 3 +-
lib/MC/MCWin64EH.cpp | 50 +-
lib/MC/MachObjectWriter.cpp | 50 +-
lib/MC/Makefile | 2 +-
lib/MC/StringTableBuilder.cpp | 51 +
lib/MC/WinCOFFObjectWriter.cpp | 42 +-
lib/MC/WinCOFFStreamer.cpp | 6 +-
lib/MC/YAML.cpp | 65 +
lib/Object/Android.mk | 8 +-
lib/Object/Archive.cpp | 182 +-
lib/Object/Binary.cpp | 28 +-
lib/Object/CMakeLists.txt | 3 +-
lib/Object/COFFObjectFile.cpp | 287 +-
lib/Object/ELFObjectFile.cpp | 51 +-
lib/Object/ELFYAML.cpp | 13 +-
lib/Object/Error.cpp | 17 +-
lib/Object/IRObjectFile.cpp | 208 +-
lib/Object/LLVMBuild.txt | 2 +-
lib/Object/MachOObjectFile.cpp | 696 +++-
lib/Object/MachOUniversal.cpp | 75 +-
lib/Object/Object.cpp | 32 +-
lib/Object/ObjectFile.cpp | 38 +-
lib/Object/RecordStreamer.cpp | 100 +
lib/Object/RecordStreamer.h | 42 +
lib/Object/StringTableBuilder.cpp | 51 -
lib/Object/SymbolicFile.cpp | 14 +-
lib/Object/YAML.cpp | 66 -
lib/Option/ArgList.cpp | 56 +-
lib/ProfileData/InstrProf.cpp | 13 +-
lib/ProfileData/InstrProfReader.cpp | 45 +-
lib/ProfileData/InstrProfWriter.cpp | 7 +-
lib/Support/APFloat.cpp | 4 +-
lib/Support/ARMWinEH.cpp | 38 +
lib/Support/Android.mk | 7 +-
lib/Support/Atomic.cpp | 2 +-
lib/Support/CMakeLists.txt | 7 +-
lib/Support/CommandLine.cpp | 26 +-
lib/Support/ConvertUTF.c | 153 +-
lib/Support/CrashRecoveryContext.cpp | 29 +-
lib/Support/DataExtractor.cpp | 2 +-
lib/Support/DataStream.cpp | 8 +-
lib/Support/DynamicLibrary.cpp | 2 +-
lib/Support/ErrorHandling.cpp | 92 +-
lib/Support/FileOutputBuffer.cpp | 19 +-
lib/Support/FileUtilities.cpp | 17 +-
lib/Support/GraphWriter.cpp | 257 +-
lib/Support/Host.cpp | 6 +-
lib/Support/LockFileManager.cpp | 19 +-
lib/Support/Makefile | 4 +
lib/Support/ManagedStatic.cpp | 18 +-
lib/Support/MemoryBuffer.cpp | 134 +-
lib/Support/Path.cpp | 170 +-
lib/Support/Process.cpp | 32 +-
lib/Support/Program.cpp | 7 +-
lib/Support/RandomNumberGenerator.cpp | 61 +
lib/Support/ScaledNumber.cpp | 319 ++
lib/Support/SourceMgr.cpp | 86 +-
lib/Support/SpecialCaseList.cpp | 170 +
lib/Support/StringMap.cpp | 10 +-
lib/Support/StringPool.cpp | 2 +-
lib/Support/TargetRegistry.cpp | 11 -
lib/Support/Threading.cpp | 41 +-
lib/Support/TimeValue.cpp | 2 +-
lib/Support/Timer.cpp | 4 +-
lib/Support/Triple.cpp | 16 +-
lib/Support/Unix/Memory.inc | 26 +-
lib/Support/Unix/Path.inc | 200 +-
lib/Support/Unix/Process.inc | 10 +-
lib/Support/Unix/Program.inc | 15 +-
lib/Support/Unix/system_error.inc | 34 -
lib/Support/Windows/DynamicLibrary.inc | 2 +-
lib/Support/Windows/Memory.inc | 31 +-
lib/Support/Windows/Path.inc | 299 +-
lib/Support/Windows/Process.inc | 17 +-
lib/Support/Windows/Program.inc | 18 +-
lib/Support/Windows/WindowsSupport.h | 9 +-
lib/Support/Windows/system_error.inc | 142 -
lib/Support/YAMLTraits.cpp | 9 +-
lib/Support/raw_ostream.cpp | 4 +-
lib/Support/regcclass.h | 5 +
lib/Support/regcname.h | 5 +
lib/Support/regex2.h | 5 +
lib/Support/regutils.h | 5 +
lib/Support/system_error.cpp | 130 -
lib/TableGen/Android.mk | 1 +
lib/TableGen/CMakeLists.txt | 1 +
lib/TableGen/Main.cpp | 14 +-
lib/TableGen/Record.cpp | 10 +-
lib/TableGen/SetTheory.cpp | 323 ++
lib/TableGen/TGLexer.cpp | 22 +-
lib/TableGen/TGLexer.h | 6 +-
lib/TableGen/TGParser.cpp | 29 +-
lib/TableGen/TGParser.h | 2 +-
lib/Target/AArch64/AArch64.td | 3 +-
lib/Target/AArch64/AArch64AddressTypePromotion.cpp | 21 +-
lib/Target/AArch64/AArch64AsmPrinter.cpp | 2 +-
lib/Target/AArch64/AArch64BranchRelaxation.cpp | 6 +-
lib/Target/AArch64/AArch64CallingConvention.td | 14 +-
lib/Target/AArch64/AArch64FastISel.cpp | 51 +-
lib/Target/AArch64/AArch64FrameLowering.cpp | 7 +-
lib/Target/AArch64/AArch64FrameLowering.h | 11 +-
lib/Target/AArch64/AArch64ISelDAGToDAG.cpp | 10 +-
lib/Target/AArch64/AArch64ISelLowering.cpp | 279 +-
lib/Target/AArch64/AArch64ISelLowering.h | 5 +-
lib/Target/AArch64/AArch64InstrFormats.td | 65 +-
lib/Target/AArch64/AArch64InstrInfo.cpp | 48 +-
lib/Target/AArch64/AArch64InstrInfo.h | 4 +-
lib/Target/AArch64/AArch64InstrInfo.td | 89 +-
lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp | 81 +-
lib/Target/AArch64/AArch64MCInstLower.cpp | 4 +-
lib/Target/AArch64/AArch64RegisterInfo.td | 2 +-
lib/Target/AArch64/AArch64SchedA53.td | 4 +-
lib/Target/AArch64/AArch64SchedA57.td | 304 ++
lib/Target/AArch64/AArch64SchedA57WriteRes.td | 512 +++
lib/Target/AArch64/AArch64SelectionDAGInfo.cpp | 11 +-
lib/Target/AArch64/AArch64SelectionDAGInfo.h | 6 +-
lib/Target/AArch64/AArch64Subtarget.cpp | 28 +-
lib/Target/AArch64/AArch64Subtarget.h | 34 +-
lib/Target/AArch64/AArch64TargetMachine.cpp | 36 +-
lib/Target/AArch64/AArch64TargetMachine.h | 27 +-
lib/Target/AArch64/AArch64TargetTransformInfo.cpp | 64 +-
lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp | 461 ++-
.../Disassembler/AArch64ExternalSymbolizer.cpp | 3 +-
lib/Target/AArch64/Disassembler/CMakeLists.txt | 8 +-
.../AArch64/InstPrinter/AArch64InstPrinter.cpp | 4 +-
.../AArch64/MCTargetDesc/AArch64AsmBackend.cpp | 2 +-
.../AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp | 2 +
.../AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp | 8 +-
lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp | 33 +-
lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h | 2 +-
.../MCTargetDesc/AArch64MachObjectWriter.cpp | 2 +-
.../AArch64/MCTargetDesc/AArch64TargetStreamer.cpp | 40 +
lib/Target/AArch64/MCTargetDesc/Android.mk | 3 +-
lib/Target/AArch64/MCTargetDesc/CMakeLists.txt | 1 +
lib/Target/AArch64/Utils/AArch64BaseInfo.h | 20 +-
lib/Target/ARM/A15SDOptimizer.cpp | 3 +-
lib/Target/ARM/ARMAsmPrinter.cpp | 89 +-
lib/Target/ARM/ARMBaseInstrInfo.cpp | 38 +-
lib/Target/ARM/ARMBaseInstrInfo.h | 9 +-
lib/Target/ARM/ARMBaseRegisterInfo.cpp | 9 +-
lib/Target/ARM/ARMCodeEmitter.cpp | 1 +
lib/Target/ARM/ARMExpandPseudoInsts.cpp | 14 +-
lib/Target/ARM/ARMFastISel.cpp | 2 +-
lib/Target/ARM/ARMFrameLowering.cpp | 18 +-
lib/Target/ARM/ARMFrameLowering.h | 6 +-
lib/Target/ARM/ARMISelDAGToDAG.cpp | 17 +-
lib/Target/ARM/ARMISelLowering.cpp | 205 +-
lib/Target/ARM/ARMISelLowering.h | 6 +
lib/Target/ARM/ARMInstrInfo.td | 35 +-
lib/Target/ARM/ARMInstrNEON.td | 165 +-
lib/Target/ARM/ARMInstrThumb2.td | 9 +-
lib/Target/ARM/ARMJITInfo.cpp | 8 +
lib/Target/ARM/ARMJITInfo.h | 8 +-
lib/Target/ARM/ARMLoadStoreOptimizer.cpp | 20 +-
lib/Target/ARM/ARMMCInstLower.cpp | 2 +-
lib/Target/ARM/ARMMachineFunctionInfo.cpp | 10 +
lib/Target/ARM/ARMMachineFunctionInfo.h | 13 +-
lib/Target/ARM/ARMSelectionDAGInfo.cpp | 18 +-
lib/Target/ARM/ARMSelectionDAGInfo.h | 6 +-
lib/Target/ARM/ARMSubtarget.cpp | 126 +-
lib/Target/ARM/ARMSubtarget.h | 52 +-
lib/Target/ARM/ARMTargetMachine.cpp | 164 +-
lib/Target/ARM/ARMTargetMachine.h | 119 +-
lib/Target/ARM/ARMTargetTransformInfo.cpp | 67 +-
lib/Target/ARM/AsmParser/ARMAsmParser.cpp | 773 ++--
lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp | 4 +-
lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h | 7 +-
lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp | 11 +-
lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp | 3 +-
lib/Target/ARM/MCTargetDesc/ARMMCExpr.cpp | 31 +-
lib/Target/ARM/MCTargetDesc/ARMMCExpr.h | 2 +-
lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp | 6 +
lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h | 2 +
.../ARM/MCTargetDesc/ARMMachObjectWriter.cpp | 10 +-
lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp | 235 +-
lib/Target/ARM/Thumb1FrameLowering.cpp | 3 +
lib/Target/ARM/Thumb1FrameLowering.h | 9 +-
lib/Target/ARM/Thumb2SizeReduction.cpp | 3 +-
lib/Target/CppBackend/CPPBackend.cpp | 6 +
lib/Target/Hexagon/HexagonFrameLowering.cpp | 4 +-
lib/Target/Hexagon/HexagonFrameLowering.h | 6 +-
lib/Target/Hexagon/HexagonISelLowering.cpp | 767 ++--
lib/Target/Hexagon/HexagonISelLowering.h | 5 +-
lib/Target/Hexagon/HexagonInstrInfo.cpp | 7 +-
lib/Target/Hexagon/HexagonMachineScheduler.cpp | 4 +-
lib/Target/Hexagon/HexagonMachineScheduler.h | 2 +-
lib/Target/Hexagon/HexagonSelectionDAGInfo.cpp | 6 +-
lib/Target/Hexagon/HexagonSelectionDAGInfo.h | 4 +-
lib/Target/Hexagon/HexagonSubtarget.cpp | 15 +-
lib/Target/Hexagon/HexagonSubtarget.h | 27 +-
lib/Target/Hexagon/HexagonTargetMachine.cpp | 11 +-
lib/Target/Hexagon/HexagonTargetMachine.h | 32 +-
lib/Target/MSP430/MSP430FrameLowering.h | 9 +-
lib/Target/MSP430/MSP430ISelLowering.cpp | 11 +-
lib/Target/MSP430/MSP430ISelLowering.h | 8 +-
lib/Target/MSP430/MSP430InstrInfo.cpp | 4 +-
lib/Target/MSP430/MSP430InstrInfo.h | 4 +-
lib/Target/MSP430/MSP430RegisterInfo.cpp | 6 +-
lib/Target/MSP430/MSP430RegisterInfo.h | 11 +-
lib/Target/MSP430/MSP430SelectionDAGInfo.cpp | 5 +-
lib/Target/MSP430/MSP430SelectionDAGInfo.h | 2 +-
lib/Target/MSP430/MSP430Subtarget.cpp | 19 +-
lib/Target/MSP430/MSP430Subtarget.h | 25 +-
lib/Target/MSP430/MSP430TargetMachine.cpp | 14 +-
lib/Target/MSP430/MSP430TargetMachine.h | 36 +-
lib/Target/Mips/Android.mk | 1 +
lib/Target/Mips/AsmParser/MipsAsmParser.cpp | 781 ++--
lib/Target/Mips/Disassembler/MipsDisassembler.cpp | 172 +-
lib/Target/Mips/MCTargetDesc/Android.mk | 1 +
lib/Target/Mips/MCTargetDesc/CMakeLists.txt | 1 +
.../Mips/MCTargetDesc/MipsABIFlagsSection.cpp | 60 +
lib/Target/Mips/MCTargetDesc/MipsABIFlagsSection.h | 237 ++
lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp | 18 +
lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h | 2 +-
.../Mips/MCTargetDesc/MipsELFObjectWriter.cpp | 6 +
lib/Target/Mips/MCTargetDesc/MipsFixupKinds.h | 6 +
lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp | 2 +-
lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp | 41 +-
lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h | 4 +
lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp | 32 +-
lib/Target/Mips/MCTargetDesc/MipsMCExpr.h | 2 +-
lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp | 12 +
.../Mips/MCTargetDesc/MipsNaClELFStreamer.cpp | 36 +-
.../Mips/MCTargetDesc/MipsTargetStreamer.cpp | 171 +-
lib/Target/Mips/MicroMipsInstrFPU.td | 12 +-
lib/Target/Mips/MicroMipsInstrInfo.td | 1 -
lib/Target/Mips/Mips.td | 5 +
lib/Target/Mips/Mips16FrameLowering.cpp | 4 +
lib/Target/Mips/Mips16FrameLowering.h | 3 +-
lib/Target/Mips/Mips16ISelDAGToDAG.cpp | 6 +-
lib/Target/Mips/Mips16ISelLowering.cpp | 7 -
lib/Target/Mips/Mips16ISelLowering.h | 4 +-
lib/Target/Mips/Mips16InstrInfo.td | 8 +-
lib/Target/Mips/Mips32r6InstrFormats.td | 177 +-
lib/Target/Mips/Mips32r6InstrInfo.td | 441 ++-
lib/Target/Mips/Mips64InstrInfo.td | 97 +-
lib/Target/Mips/Mips64r6InstrInfo.td | 163 +-
lib/Target/Mips/MipsAsmPrinter.cpp | 56 +-
lib/Target/Mips/MipsAsmPrinter.h | 6 +
lib/Target/Mips/MipsCallingConv.td | 5 +
lib/Target/Mips/MipsCodeEmitter.cpp | 7 +
lib/Target/Mips/MipsCondMov.td | 146 +-
lib/Target/Mips/MipsDSPInstrFormats.td | 4 +-
lib/Target/Mips/MipsDelaySlotFiller.cpp | 8 +
lib/Target/Mips/MipsFastISel.cpp | 175 +-
lib/Target/Mips/MipsFrameLowering.h | 1 -
lib/Target/Mips/MipsISelDAGToDAG.cpp | 3 +-
lib/Target/Mips/MipsISelDAGToDAG.h | 4 +-
lib/Target/Mips/MipsISelLowering.cpp | 247 +-
lib/Target/Mips/MipsISelLowering.h | 15 +-
lib/Target/Mips/MipsInstrFPU.td | 116 +-
lib/Target/Mips/MipsInstrFormats.td | 52 +
lib/Target/Mips/MipsInstrInfo.td | 313 +-
lib/Target/Mips/MipsLongBranch.cpp | 62 +-
lib/Target/Mips/MipsMSAInstrFormats.td | 2 +-
lib/Target/Mips/MipsMachineFunction.h | 1 -
lib/Target/Mips/MipsRegisterInfo.cpp | 11 +
lib/Target/Mips/MipsRegisterInfo.td | 16 +
lib/Target/Mips/MipsSEFrameLowering.cpp | 4 +
lib/Target/Mips/MipsSEFrameLowering.h | 3 +-
lib/Target/Mips/MipsSEISelDAGToDAG.cpp | 24 +-
lib/Target/Mips/MipsSEISelLowering.cpp | 99 +-
lib/Target/Mips/MipsSEISelLowering.h | 12 +-
lib/Target/Mips/MipsSEInstrInfo.cpp | 57 +-
lib/Target/Mips/MipsSEInstrInfo.h | 3 +-
lib/Target/Mips/MipsSelectionDAGInfo.cpp | 5 +-
lib/Target/Mips/MipsSelectionDAGInfo.h | 2 +-
lib/Target/Mips/MipsSubtarget.cpp | 145 +-
lib/Target/Mips/MipsSubtarget.h | 72 +-
lib/Target/Mips/MipsTargetMachine.cpp | 86 +-
lib/Target/Mips/MipsTargetMachine.h | 71 +-
lib/Target/Mips/MipsTargetStreamer.h | 108 +-
lib/Target/NVPTX/NVPTX.td | 7 +
lib/Target/NVPTX/NVPTXAsmPrinter.cpp | 72 +-
lib/Target/NVPTX/NVPTXFrameLowering.cpp | 24 +-
lib/Target/NVPTX/NVPTXFrameLowering.h | 8 +-
lib/Target/NVPTX/NVPTXGenericToNVVM.cpp | 2 +-
lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp | 532 ++-
lib/Target/NVPTX/NVPTXISelDAGToDAG.h | 4 +-
lib/Target/NVPTX/NVPTXISelLowering.cpp | 797 ++++-
lib/Target/NVPTX/NVPTXISelLowering.h | 19 +-
lib/Target/NVPTX/NVPTXImageOptimizer.cpp | 2 +-
lib/Target/NVPTX/NVPTXInstrInfo.cpp | 4 +-
lib/Target/NVPTX/NVPTXInstrInfo.h | 3 +-
lib/Target/NVPTX/NVPTXInstrInfo.td | 348 +-
lib/Target/NVPTX/NVPTXIntrinsics.td | 418 ++-
lib/Target/NVPTX/NVPTXMCExpr.h | 2 +-
lib/Target/NVPTX/NVPTXRegisterInfo.td | 7 +-
lib/Target/NVPTX/NVPTXSubtarget.cpp | 57 +-
lib/Target/NVPTX/NVPTXSubtarget.h | 35 +-
lib/Target/NVPTX/NVPTXTargetMachine.cpp | 66 +-
lib/Target/NVPTX/NVPTXTargetMachine.h | 42 +-
lib/Target/NVPTX/NVVMReflect.cpp | 69 +-
lib/Target/NVPTX/cl_common_defines.h | 6 +-
lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp | 103 +-
.../PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp | 46 +-
lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp | 32 +-
lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h | 2 +-
lib/Target/PowerPC/PPC.td | 10 +
lib/Target/PowerPC/PPCAsmPrinter.cpp | 24 +-
lib/Target/PowerPC/PPCFastISel.cpp | 38 +-
lib/Target/PowerPC/PPCFrameLowering.cpp | 168 +-
lib/Target/PowerPC/PPCFrameLowering.h | 198 +-
lib/Target/PowerPC/PPCHazardRecognizers.cpp | 11 +-
lib/Target/PowerPC/PPCHazardRecognizers.h | 4 +-
lib/Target/PowerPC/PPCISelDAGToDAG.cpp | 14 +-
lib/Target/PowerPC/PPCISelLowering.cpp | 1002 +++---
lib/Target/PowerPC/PPCISelLowering.h | 34 +-
lib/Target/PowerPC/PPCInstr64Bit.td | 16 +-
lib/Target/PowerPC/PPCInstrAltivec.td | 62 +-
lib/Target/PowerPC/PPCInstrFormats.td | 14 -
lib/Target/PowerPC/PPCInstrInfo.cpp | 58 +-
lib/Target/PowerPC/PPCInstrInfo.h | 6 +-
lib/Target/PowerPC/PPCInstrInfo.td | 3 -
lib/Target/PowerPC/PPCJITInfo.cpp | 9 +-
lib/Target/PowerPC/PPCJITInfo.h | 43 +-
lib/Target/PowerPC/PPCRegisterInfo.cpp | 8 +
lib/Target/PowerPC/PPCSelectionDAGInfo.cpp | 8 +-
lib/Target/PowerPC/PPCSelectionDAGInfo.h | 2 +-
lib/Target/PowerPC/PPCSubtarget.cpp | 58 +-
lib/Target/PowerPC/PPCSubtarget.h | 29 +-
lib/Target/PowerPC/PPCTargetMachine.cpp | 51 +-
lib/Target/PowerPC/PPCTargetMachine.h | 35 +-
lib/Target/R600/AMDGPU.h | 8 +-
lib/Target/R600/AMDGPU.td | 46 +-
lib/Target/R600/AMDGPUAsmPrinter.cpp | 70 +-
lib/Target/R600/AMDGPUAsmPrinter.h | 23 +-
lib/Target/R600/AMDGPUConvertToISA.cpp | 62 -
lib/Target/R600/AMDGPUFrameLowering.cpp | 2 +-
lib/Target/R600/AMDGPUISelDAGToDAG.cpp | 209 +-
lib/Target/R600/AMDGPUISelLowering.cpp | 987 +++++-
lib/Target/R600/AMDGPUISelLowering.h | 95 +-
lib/Target/R600/AMDGPUInstrInfo.cpp | 28 +-
lib/Target/R600/AMDGPUInstrInfo.h | 19 +-
lib/Target/R600/AMDGPUInstrInfo.td | 69 +
lib/Target/R600/AMDGPUInstructions.td | 97 +-
lib/Target/R600/AMDGPUIntrinsicInfo.cpp | 77 +
lib/Target/R600/AMDGPUIntrinsicInfo.h | 48 +
lib/Target/R600/AMDGPUIntrinsics.td | 29 +-
lib/Target/R600/AMDGPUMCInstLower.cpp | 1 +
lib/Target/R600/AMDGPUMCInstLower.h | 4 +-
lib/Target/R600/AMDGPUPromoteAlloca.cpp | 387 ++
lib/Target/R600/AMDGPURegisterInfo.cpp | 4 +-
lib/Target/R600/AMDGPURegisterInfo.h | 14 +-
lib/Target/R600/AMDGPUSubtarget.cpp | 100 +-
lib/Target/R600/AMDGPUSubtarget.h | 100 +-
lib/Target/R600/AMDGPUTargetMachine.cpp | 13 +-
lib/Target/R600/AMDGPUTargetMachine.h | 7 +-
lib/Target/R600/AMDILBase.td | 25 -
lib/Target/R600/AMDILISelLowering.cpp | 560 ---
lib/Target/R600/AMDILInstrInfo.td | 150 -
lib/Target/R600/AMDILIntrinsicInfo.cpp | 81 -
lib/Target/R600/AMDILIntrinsicInfo.h | 49 -
lib/Target/R600/AMDILIntrinsics.td | 224 --
lib/Target/R600/AMDILRegisterInfo.td | 107 -
lib/Target/R600/CMakeLists.txt | 6 +-
lib/Target/R600/EvergreenInstructions.td | 11 +-
lib/Target/R600/InstPrinter/AMDGPUInstPrinter.cpp | 15 +-
lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp | 14 +-
lib/Target/R600/R600ControlFlowFinalizer.cpp | 1 +
lib/Target/R600/R600ISelLowering.cpp | 314 +-
lib/Target/R600/R600ISelLowering.h | 9 +-
lib/Target/R600/R600InstrInfo.cpp | 90 +-
lib/Target/R600/R600InstrInfo.h | 18 +-
lib/Target/R600/R600Instructions.td | 158 +-
lib/Target/R600/R600MachineScheduler.cpp | 1 +
lib/Target/R600/R600Packetizer.cpp | 1 +
lib/Target/R600/R600RegisterInfo.cpp | 17 +-
lib/Target/R600/R600RegisterInfo.h | 12 +-
lib/Target/R600/R600RegisterInfo.td | 48 +-
lib/Target/R600/SIAnnotateControlFlow.cpp | 46 +-
lib/Target/R600/SIDefines.h | 50 +
lib/Target/R600/SIFixSGPRLiveRanges.cpp | 110 +
lib/Target/R600/SIISelLowering.cpp | 303 +-
lib/Target/R600/SIISelLowering.h | 10 +-
lib/Target/R600/SIInsertWaits.cpp | 2 +
lib/Target/R600/SIInstrFormats.td | 26 +-
lib/Target/R600/SIInstrInfo.cpp | 223 +-
lib/Target/R600/SIInstrInfo.h | 12 +-
lib/Target/R600/SIInstrInfo.td | 152 +-
lib/Target/R600/SIInstructions.td | 868 +++--
lib/Target/R600/SIIntrinsics.td | 50 +
lib/Target/R600/SILowerControlFlow.cpp | 87 +-
lib/Target/R600/SIMachineFunctionInfo.cpp | 6 +-
lib/Target/R600/SIRegisterInfo.cpp | 34 +-
lib/Target/R600/SIRegisterInfo.h | 19 +-
lib/Target/R600/SIRegisterInfo.td | 2 +-
lib/Target/R600/SITypeRewriter.cpp | 3 +-
lib/Target/Sparc/AsmParser/SparcAsmParser.cpp | 153 +-
lib/Target/Sparc/InstPrinter/SparcInstPrinter.cpp | 2 +-
lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp | 4 +-
.../Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp | 2 +-
lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp | 36 +-
lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h | 2 +-
lib/Target/Sparc/SparcFrameLowering.cpp | 11 +-
lib/Target/Sparc/SparcFrameLowering.h | 9 +-
lib/Target/Sparc/SparcISelLowering.cpp | 4 +-
lib/Target/Sparc/SparcJITInfo.cpp | 3 +-
lib/Target/Sparc/SparcSelectionDAGInfo.cpp | 6 +-
lib/Target/Sparc/SparcSelectionDAGInfo.h | 2 +-
lib/Target/Sparc/SparcSubtarget.cpp | 52 +-
lib/Target/Sparc/SparcSubtarget.h | 26 +-
lib/Target/Sparc/SparcTargetMachine.cpp | 32 +-
lib/Target/Sparc/SparcTargetMachine.h | 36 +-
lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp | 172 +-
lib/Target/SystemZ/SystemZCallingConv.td | 10 +-
lib/Target/SystemZ/SystemZFrameLowering.cpp | 22 +-
lib/Target/SystemZ/SystemZFrameLowering.h | 8 +-
lib/Target/SystemZ/SystemZISelLowering.cpp | 63 +-
lib/Target/SystemZ/SystemZISelLowering.h | 3 +-
lib/Target/SystemZ/SystemZInstrFP.td | 7 +
lib/Target/SystemZ/SystemZInstrFormats.td | 119 +-
lib/Target/SystemZ/SystemZInstrInfo.cpp | 12 +-
lib/Target/SystemZ/SystemZInstrInfo.h | 5 +-
lib/Target/SystemZ/SystemZInstrInfo.td | 44 +-
lib/Target/SystemZ/SystemZOperands.td | 29 +-
lib/Target/SystemZ/SystemZOperators.td | 12 +-
lib/Target/SystemZ/SystemZPatterns.td | 8 +-
lib/Target/SystemZ/SystemZRegisterInfo.cpp | 29 +-
lib/Target/SystemZ/SystemZRegisterInfo.h | 9 +-
lib/Target/SystemZ/SystemZRegisterInfo.td | 25 +-
lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp | 6 +-
lib/Target/SystemZ/SystemZSelectionDAGInfo.h | 2 +-
lib/Target/SystemZ/SystemZSubtarget.cpp | 28 +-
lib/Target/SystemZ/SystemZSubtarget.h | 26 +-
lib/Target/SystemZ/SystemZTargetMachine.cpp | 16 +-
lib/Target/SystemZ/SystemZTargetMachine.h | 26 +-
lib/Target/TargetMachine.cpp | 15 +-
lib/Target/TargetSubtargetInfo.cpp | 13 +
lib/Target/X86/Android.mk | 1 +
lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp | 371 +-
lib/Target/X86/AsmParser/X86AsmInstrumentation.h | 9 +-
lib/Target/X86/AsmParser/X86AsmParser.cpp | 287 +-
lib/Target/X86/AsmParser/X86Operand.h | 42 +-
lib/Target/X86/CMakeLists.txt | 1 +
.../X86/Disassembler/X86DisassemblerDecoder.cpp | 3 +-
lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp | 46 +-
lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp | 17 +-
lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp | 13 +-
lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h | 3 +-
lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp | 6 +-
lib/Target/X86/X86.h | 4 +
lib/Target/X86/X86.td | 7 +-
lib/Target/X86/X86AtomicExpandPass.cpp | 287 ++
lib/Target/X86/X86CodeEmitter.cpp | 17 +-
lib/Target/X86/X86FastISel.cpp | 1265 +++++--
lib/Target/X86/X86FixupLEAs.cpp | 175 +-
lib/Target/X86/X86FrameLowering.cpp | 407 ++-
lib/Target/X86/X86FrameLowering.h | 20 +-
lib/Target/X86/X86ISelDAGToDAG.cpp | 32 -
lib/Target/X86/X86ISelLowering.cpp | 3735 ++++++++++++++------
lib/Target/X86/X86ISelLowering.h | 31 +-
lib/Target/X86/X86InstrAVX512.td | 301 +-
lib/Target/X86/X86InstrArithmetic.td | 6 +-
lib/Target/X86/X86InstrCompiler.td | 139 +-
lib/Target/X86/X86InstrFragmentsSIMD.td | 4 +
lib/Target/X86/X86InstrInfo.cpp | 136 +-
lib/Target/X86/X86InstrInfo.h | 24 +-
lib/Target/X86/X86InstrInfo.td | 24 +-
lib/Target/X86/X86InstrSSE.td | 252 +-
lib/Target/X86/X86InstrSystem.td | 5 +-
lib/Target/X86/X86JITInfo.cpp | 6 +-
lib/Target/X86/X86JITInfo.h | 8 +-
lib/Target/X86/X86MCInstLower.cpp | 35 +
lib/Target/X86/X86RegisterInfo.cpp | 54 +-
lib/Target/X86/X86RegisterInfo.h | 10 +-
lib/Target/X86/X86SelectionDAGInfo.cpp | 57 +-
lib/Target/X86/X86SelectionDAGInfo.h | 8 +-
lib/Target/X86/X86Subtarget.cpp | 59 +-
lib/Target/X86/X86Subtarget.h | 32 +-
lib/Target/X86/X86TargetMachine.cpp | 62 +-
lib/Target/X86/X86TargetMachine.h | 30 +-
lib/Target/X86/X86TargetTransformInfo.cpp | 167 +-
lib/Target/XCore/XCoreFrameLowering.cpp | 6 +-
lib/Target/XCore/XCoreISelLowering.cpp | 49 +-
lib/Target/XCore/XCoreISelLowering.h | 5 +-
lib/Target/XCore/XCoreInstrInfo.cpp | 9 +-
lib/Target/XCore/XCoreSelectionDAGInfo.cpp | 7 +-
lib/Target/XCore/XCoreSelectionDAGInfo.h | 2 +-
lib/Target/XCore/XCoreSubtarget.cpp | 10 +-
lib/Target/XCore/XCoreSubtarget.h | 21 +-
lib/Target/XCore/XCoreTargetMachine.cpp | 9 +-
lib/Target/XCore/XCoreTargetMachine.h | 28 +-
lib/Transforms/IPO/ArgumentPromotion.cpp | 27 +-
lib/Transforms/IPO/DeadArgumentElimination.cpp | 39 +-
lib/Transforms/IPO/FunctionAttrs.cpp | 19 +-
lib/Transforms/IPO/GlobalDCE.cpp | 43 +-
lib/Transforms/IPO/GlobalOpt.cpp | 45 +-
lib/Transforms/IPO/MergeFunctions.cpp | 530 +--
lib/Transforms/IPO/PassManagerBuilder.cpp | 13 +-
lib/Transforms/InstCombine/InstCombine.h | 6 +-
lib/Transforms/InstCombine/InstCombineAddSub.cpp | 266 +-
lib/Transforms/InstCombine/InstCombineAndOrXor.cpp | 23 -
lib/Transforms/InstCombine/InstCombineCalls.cpp | 40 +-
lib/Transforms/InstCombine/InstCombineCasts.cpp | 26 +-
lib/Transforms/InstCombine/InstCombineCompares.cpp | 82 +-
.../InstCombine/InstCombineLoadStoreAlloca.cpp | 153 +-
.../InstCombine/InstCombineMulDivRem.cpp | 11 +-
lib/Transforms/InstCombine/InstCombineSelect.cpp | 102 +-
lib/Transforms/InstCombine/InstCombineShifts.cpp | 5 -
.../InstCombine/InstCombineVectorOps.cpp | 8 +-
.../InstCombine/InstructionCombining.cpp | 310 +-
.../Instrumentation/AddressSanitizer.cpp | 397 ++-
.../Instrumentation/DataFlowSanitizer.cpp | 65 +-
lib/Transforms/Instrumentation/DebugIR.cpp | 5 +-
lib/Transforms/Instrumentation/GCOVProfiling.cpp | 20 +-
lib/Transforms/Instrumentation/MemorySanitizer.cpp | 332 +-
lib/Transforms/Instrumentation/ThreadSanitizer.cpp | 78 +-
lib/Transforms/Scalar/Android.mk | 2 +-
lib/Transforms/Scalar/CMakeLists.txt | 2 +-
lib/Transforms/Scalar/GVN.cpp | 20 +
lib/Transforms/Scalar/GlobalMerge.cpp | 313 --
lib/Transforms/Scalar/JumpThreading.cpp | 9 +
lib/Transforms/Scalar/LICM.cpp | 73 +-
lib/Transforms/Scalar/LoadCombine.cpp | 268 ++
lib/Transforms/Scalar/LoopIdiomRecognize.cpp | 4 +-
lib/Transforms/Scalar/LoopRerollPass.cpp | 6 +-
lib/Transforms/Scalar/LoopUnrollPass.cpp | 360 +-
lib/Transforms/Scalar/LowerAtomic.cpp | 5 +-
lib/Transforms/Scalar/Reassociate.cpp | 31 +-
lib/Transforms/Scalar/SCCP.cpp | 4 +-
lib/Transforms/Scalar/SROA.cpp | 18 +-
lib/Transforms/Scalar/SampleProfile.cpp | 7 +-
lib/Transforms/Scalar/Scalar.cpp | 1 +
lib/Transforms/Scalar/ScalarReplAggregates.cpp | 6 +-
.../Scalar/SeparateConstOffsetFromGEP.cpp | 633 ++--
lib/Transforms/Scalar/Sink.cpp | 6 +-
lib/Transforms/Utils/Android.mk | 1 -
lib/Transforms/Utils/CMakeLists.txt | 1 -
lib/Transforms/Utils/CloneModule.cpp | 2 +-
lib/Transforms/Utils/InlineFunction.cpp | 9 +-
lib/Transforms/Utils/LoopSimplify.cpp | 17 +-
lib/Transforms/Utils/LoopUnroll.cpp | 28 +-
lib/Transforms/Utils/LoopUnrollRuntime.cpp | 23 +-
lib/Transforms/Utils/LowerSwitch.cpp | 129 +-
lib/Transforms/Utils/SimplifyCFG.cpp | 94 +-
lib/Transforms/Utils/SpecialCaseList.cpp | 221 --
lib/Transforms/Vectorize/LoopVectorize.cpp | 373 +-
lib/Transforms/Vectorize/SLPVectorizer.cpp | 297 +-
llvm-device-build.mk | 2 +
test/Analysis/BasicAA/cs-cs.ll | 221 ++
test/Analysis/CostModel/AArch64/lit.local.cfg | 3 +-
test/Analysis/CostModel/ARM/lit.local.cfg | 3 +-
test/Analysis/CostModel/PowerPC/lit.local.cfg | 3 +-
.../CostModel/X86/alternate-shuffle-cost.ll | 347 ++
test/Analysis/CostModel/X86/lit.local.cfg | 3 +-
.../Delinearization/multidim_only_ivs_2d.ll | 12 +-
test/Assembler/addrspacecast-alias.ll | 4 +-
test/Assembler/alias-addrspace.ll | 6 -
test/Assembler/alias-to-alias.ll | 5 -
test/Assembler/alias-to-alias2.ll | 7 -
test/Assembler/alias-type.ll | 6 -
test/Assembler/atomic.ll | 2 +
test/Assembler/invalid-comdat.ll | 4 +
test/Assembler/invalid-comdat2.ll | 5 +
test/Assembler/upgrade-loop-metadata.ll | 41 +
test/Bindings/Ocaml/target.ml | 5 +-
test/Bindings/llvm-c/lit.local.cfg | 5 +-
test/Bitcode/atomic.ll | 17 +
test/Bitcode/attributes.ll | 12 +-
test/Bitcode/memInstructions.3.2.ll | 60 +-
test/Bitcode/old-aliases.ll | 8 +-
test/Bitcode/upgrade-loop-metadata.ll | 37 +
test/Bitcode/upgrade-loop-metadata.ll.bc | Bin 0 -> 640 bytes
test/Bitcode/weak-cmpxchg-upgrade.ll | 15 +
test/Bitcode/weak-cmpxchg-upgrade.ll.bc | Bin 0 -> 332 bytes
.../aarch64-address-type-promotion-assertion.ll | 55 +
.../AArch64/aarch64-address-type-promotion.ll | 28 +
test/CodeGen/AArch64/addsub_ext.ll | 2 +-
.../AArch64/arm64-2012-05-09-LOADgot-bug.ll | 6 +-
.../arm64-2014-04-16-AnInfiniteLoopInDAGCombine.ll | 23 -
.../arm64-2014-04-28-sqshl-uqshl-i64Contant.ll | 19 -
.../AArch64/arm64-2014-04-29-EXT-undef-mask.ll | 23 -
.../AArch64/arm64-AnInfiniteLoopInDAGCombine.ll | 23 +
test/CodeGen/AArch64/arm64-EXT-undef-mask.ll | 23 +
test/CodeGen/AArch64/arm64-aapcs.ll | 8 +
test/CodeGen/AArch64/arm64-abi.ll | 27 +-
test/CodeGen/AArch64/arm64-ands-bad-peephole.ll | 10 +-
test/CodeGen/AArch64/arm64-arith.ll | 8 +
test/CodeGen/AArch64/arm64-atomic-128.ll | 9 +-
test/CodeGen/AArch64/arm64-atomic.ll | 14 +-
test/CodeGen/AArch64/arm64-build-vector.ll | 24 +
test/CodeGen/AArch64/arm64-convert-v2f64-v2i32.ll | 24 -
test/CodeGen/AArch64/arm64-convert-v2i32-v2f64.ll | 29 -
test/CodeGen/AArch64/arm64-convert-v4f64.ll | 33 +
test/CodeGen/AArch64/arm64-cse.ll | 2 +-
.../AArch64/arm64-dagcombiner-dead-indexed-load.ll | 3 +
.../AArch64/arm64-dagcombiner-indexed-load.ll | 16 +-
test/CodeGen/AArch64/arm64-early-ifcvt.ll | 2 +-
test/CodeGen/AArch64/arm64-fast-isel-intrinsic.ll | 13 +
test/CodeGen/AArch64/arm64-fp128.ll | 2 +-
test/CodeGen/AArch64/arm64-frame-index.ll | 2 +-
test/CodeGen/AArch64/arm64-misched-basic-A53.ll | 79 +
test/CodeGen/AArch64/arm64-misched-basic-A57.ll | 112 +
.../AArch64/arm64-misched-forwarding-A53.ll | 7 +-
test/CodeGen/AArch64/arm64-neon-copy.ll | 16 +-
test/CodeGen/AArch64/arm64-neon-select_cc.ll | 4 +-
test/CodeGen/AArch64/arm64-shrink-v1i64.ll | 14 +
.../AArch64/arm64-sqshl-uqshl-i64Contant.ll | 19 +
test/CodeGen/AArch64/arm64-vcvt.ll | 12 +-
test/CodeGen/AArch64/arm64-vshift.ll | 9 +
test/CodeGen/AArch64/arm64-xaluo.ll | 2 +-
test/CodeGen/AArch64/atomic-ops.ll | 25 +-
test/CodeGen/AArch64/blockaddress.ll | 4 +-
test/CodeGen/AArch64/branch-relax-asm.ll | 35 +
test/CodeGen/AArch64/breg.ll | 2 +-
test/CodeGen/AArch64/cmpxchg-idioms.ll | 93 +
test/CodeGen/AArch64/compiler-ident.ll | 12 +
test/CodeGen/AArch64/complex-fp-to-int.ll | 141 +
test/CodeGen/AArch64/complex-int-to-fp.ll | 164 +
test/CodeGen/AArch64/directcond.ll | 4 +-
test/CodeGen/AArch64/f16-convert.ll | 254 ++
test/CodeGen/AArch64/fast-isel-mul.ll | 40 +
test/CodeGen/AArch64/flags-multiuse.ll | 2 +-
test/CodeGen/AArch64/funcptr_cast.ll | 13 +
test/CodeGen/AArch64/global-merge-1.ll | 26 +
test/CodeGen/AArch64/global-merge-2.ll | 51 +
test/CodeGen/AArch64/global-merge-3.ll | 51 +
test/CodeGen/AArch64/global-merge-4.ll | 73 +
test/CodeGen/AArch64/global-merge.ll | 30 +
test/CodeGen/AArch64/i128-fast-isel-fallback.ll | 18 +
test/CodeGen/AArch64/inlineasm-ldr-pseudo.ll | 26 +
test/CodeGen/AArch64/jump-table.ll | 6 +-
test/CodeGen/AArch64/ldst-opt.ll | 468 ++-
test/CodeGen/AArch64/lit.local.cfg | 3 +-
test/CodeGen/AArch64/memcpy-f128.ll | 19 +
test/CodeGen/AArch64/mul_pow2.ll | 123 +
test/CodeGen/AArch64/regress-tail-livereg.ll | 14 +
test/CodeGen/AArch64/trunc-v1i64.ll | 63 +
test/CodeGen/AArch64/tst-br.ll | 2 +-
test/CodeGen/ARM/2009-11-02-NegativeLane.ll | 2 +-
test/CodeGen/ARM/2009-11-07-SubRegAsmPrinting.ll | 2 +-
test/CodeGen/ARM/2010-05-18-PostIndexBug.ll | 18 +-
test/CodeGen/ARM/2010-10-25-ifcvt-ldm.ll | 4 +-
test/CodeGen/ARM/2011-02-04-AntidepMultidef.ll | 20 +-
test/CodeGen/ARM/2011-03-15-LdStMultipleBug.ll | 6 +-
test/CodeGen/ARM/2012-11-14-subs_carry.ll | 2 +-
test/CodeGen/ARM/2013-05-05-IfConvertBug.ll | 12 +-
test/CodeGen/ARM/2013-07-29-vector-or-combine.ll | 2 +-
test/CodeGen/ARM/Windows/dllimport.ll | 61 +
test/CodeGen/ARM/Windows/global-minsize.ll | 16 +
test/CodeGen/ARM/Windows/long-calls.ll | 18 +
test/CodeGen/ARM/Windows/structors.ll | 12 +
test/CodeGen/ARM/Windows/vla.ll | 31 +
test/CodeGen/ARM/aliases.ll | 2 +-
test/CodeGen/ARM/arm-and-tst-peephole.ll | 8 +-
test/CodeGen/ARM/atomic-64bit.ll | 14 +-
test/CodeGen/ARM/atomic-cmp.ll | 3 +-
test/CodeGen/ARM/atomic-load-store.ll | 37 +-
test/CodeGen/ARM/atomic-op.ll | 6 +-
test/CodeGen/ARM/atomic-ops-v8.ll | 12 +-
test/CodeGen/ARM/big-endian-neon-extend.ll | 81 +
test/CodeGen/ARM/big-endian-neon-trunc-store.ll | 26 +
test/CodeGen/ARM/big-endian-ret-f64.ll | 12 +
test/CodeGen/ARM/call-tc.ll | 6 +-
test/CodeGen/ARM/cmpxchg-idioms.ll | 107 +
test/CodeGen/ARM/cmpxchg-weak.ll | 43 +
test/CodeGen/ARM/data-in-code-annotations.ll | 2 +-
test/CodeGen/ARM/debug-info-arg.ll | 2 +-
test/CodeGen/ARM/debug-info-blocks.ll | 9 +-
test/CodeGen/ARM/fold-stack-adjust.ll | 16 +-
test/CodeGen/ARM/fptoint.ll | 2 +-
test/CodeGen/ARM/global-merge-1.ll | 85 +
test/CodeGen/ARM/ifcvt-branch-weight.ll | 2 +-
test/CodeGen/ARM/ifcvt10.ll | 2 +-
test/CodeGen/ARM/indirectbr-3.ll | 2 +-
test/CodeGen/ARM/interrupt-attr.ll | 8 +-
test/CodeGen/ARM/intrinsics-memory-barrier.ll | 55 +
test/CodeGen/ARM/jump_tables.ll | 32 +
test/CodeGen/ARM/ldstrex-m.ll | 59 +
test/CodeGen/ARM/lit.local.cfg | 3 +-
test/CodeGen/ARM/lsr-unfolded-offset.ll | 2 +-
test/CodeGen/ARM/metadata-default.ll | 16 +
test/CodeGen/ARM/metadata-short-enums.ll | 16 +
test/CodeGen/ARM/metadata-short-wchar.ll | 16 +
test/CodeGen/ARM/misched-copy-arm.ll | 2 +-
test/CodeGen/ARM/none-macho.ll | 10 +-
test/CodeGen/ARM/null-streamer.ll | 7 +
test/CodeGen/ARM/reg_sequence.ll | 4 +-
test/CodeGen/ARM/spill-q.ll | 2 +-
test/CodeGen/ARM/struct-byval-frame-index.ll | 2 +-
test/CodeGen/ARM/twoaddrinstr.ll | 2 +-
test/CodeGen/ARM/va_arg.ll | 4 +-
test/CodeGen/ARM/vldm-sched-a9.ll | 2 +-
test/CodeGen/ARM/widen-vmovs.ll | 6 +-
test/CodeGen/CPP/atomic.ll | 89 +
test/CodeGen/CPP/lit.local.cfg | 3 +-
test/CodeGen/Generic/MachineBranchProb.ll | 3 +
test/CodeGen/Generic/select.ll | 1 -
test/CodeGen/Generic/stop-after.ll | 2 +-
test/CodeGen/Hexagon/lit.local.cfg | 3 +-
test/CodeGen/MSP430/lit.local.cfg | 3 +-
test/CodeGen/Mips/2008-08-01-AsmInline.ll | 2 +-
test/CodeGen/Mips/2013-11-18-fp64-const0.ll | 2 +-
test/CodeGen/Mips/Fast-ISel/loadstore2.ll | 83 +
test/CodeGen/Mips/Fast-ISel/simplestorefp1.ll | 38 +
test/CodeGen/Mips/abiflags-xx.ll | 6 +
test/CodeGen/Mips/abiflags32.ll | 12 +
test/CodeGen/Mips/analyzebranch.ll | 35 +-
test/CodeGen/Mips/atomic.ll | 626 ++--
test/CodeGen/Mips/atomicops.ll | 3 +-
test/CodeGen/Mips/buildpairextractelementf64.ll | 4 +-
test/CodeGen/Mips/cconv/callee-saved-fpxx.ll | 58 +
test/CodeGen/Mips/cconv/callee-saved-fpxx1.ll | 24 +
test/CodeGen/Mips/cmov.ll | 614 +++-
test/CodeGen/Mips/countleading.ll | 90 +
test/CodeGen/Mips/divrem.ll | 363 +-
test/CodeGen/Mips/dsp-r1.ll | 2 +-
test/CodeGen/Mips/eh-return32.ll | 14 +-
test/CodeGen/Mips/eh-return64.ll | 17 +-
test/CodeGen/Mips/ehframe-indirect.ll | 34 +
test/CodeGen/Mips/fcmp.ll | 783 ++++
test/CodeGen/Mips/fcopysign.ll | 2 +-
test/CodeGen/Mips/fmadd1.ll | 324 +-
test/CodeGen/Mips/fp-indexed-ls.ll | 192 +-
test/CodeGen/Mips/fpbr.ll | 93 +-
test/CodeGen/Mips/inlineasm-cnstrnt-reg.ll | 3 +-
test/CodeGen/Mips/lit.local.cfg | 3 +-
test/CodeGen/Mips/llvm-ir/call.ll | 166 +
test/CodeGen/Mips/llvm-ir/indirectbr.ll | 34 +
test/CodeGen/Mips/llvm-ir/ret.ll | 205 ++
test/CodeGen/Mips/longbranch.ll | 34 +
test/CodeGen/Mips/madd-msub.ll | 241 +-
test/CodeGen/Mips/mips16ex.ll | 4 +-
test/CodeGen/Mips/mips64-f128.ll | 358 +-
test/CodeGen/Mips/mips64-fp-indexed-ls.ll | 110 -
test/CodeGen/Mips/mips64countleading.ll | 24 -
test/CodeGen/Mips/mips64instrs.ll | 126 +-
test/CodeGen/Mips/mips64muldiv.ll | 57 +-
test/CodeGen/Mips/mno-ldc1-sdc1.ll | 274 +-
test/CodeGen/Mips/msa/special.ll | 4 +
test/CodeGen/Mips/no-odd-spreg.ll | 54 +
test/CodeGen/Mips/null-streamer.ll | 7 +
test/CodeGen/Mips/prevent-hoisting.ll | 144 +
test/CodeGen/Mips/select.ll | 800 ++++-
test/CodeGen/Mips/selectcc.ll | 14 +-
test/CodeGen/Mips/tls-alias.ll | 2 +-
test/CodeGen/Mips/zeroreg.ll | 98 +-
test/CodeGen/NVPTX/access-non-generic.ll | 8 +-
test/CodeGen/NVPTX/arg-lowering.ll | 13 +
test/CodeGen/NVPTX/atomics.ll | 141 +
test/CodeGen/NVPTX/bfe.ll | 32 +
test/CodeGen/NVPTX/envreg.ll | 139 +
test/CodeGen/NVPTX/gvar-init.ll | 5 +
test/CodeGen/NVPTX/imad.ll | 9 +
test/CodeGen/NVPTX/inline-asm.ll | 7 +
test/CodeGen/NVPTX/isspacep.ll | 35 +
test/CodeGen/NVPTX/ldu-i8.ll | 6 +-
test/CodeGen/NVPTX/ldu-ldg.ll | 40 +
test/CodeGen/NVPTX/ldu-reg-plus-offset.ll | 6 +-
test/CodeGen/NVPTX/lit.local.cfg | 3 +-
test/CodeGen/NVPTX/managed.ll | 11 +
test/CodeGen/NVPTX/mulwide.ll | 37 +
test/CodeGen/NVPTX/nvvm-reflect.ll | 16 +-
test/CodeGen/NVPTX/rotate.ll | 58 +
test/CodeGen/NVPTX/shift-parts.ll | 38 +
test/CodeGen/NVPTX/weak-global.ll | 9 +
test/CodeGen/NVPTX/weak-linkage.ll | 12 +
test/CodeGen/PowerPC/Atomics-32.ll | 48 +-
test/CodeGen/PowerPC/Frames-alloca.ll | 8 +-
test/CodeGen/PowerPC/Frames-large.ll | 16 +-
test/CodeGen/PowerPC/Frames-small.ll | 16 +-
test/CodeGen/PowerPC/atomic-1.ll | 3 +-
test/CodeGen/PowerPC/atomic-2.ll | 3 +-
test/CodeGen/PowerPC/early-ret2.ll | 2 +-
test/CodeGen/PowerPC/fast-isel-conversion-p5.ll | 23 -
test/CodeGen/PowerPC/fast-isel-conversion.ll | 104 +
test/CodeGen/PowerPC/func-addr.ll | 17 +
test/CodeGen/PowerPC/hello-reloc.s | 18 +-
test/CodeGen/PowerPC/lit.local.cfg | 3 +-
test/CodeGen/PowerPC/ppc64-altivec-abi.ll | 25 +
test/CodeGen/PowerPC/ppc64-byval-align.ll | 56 +
test/CodeGen/PowerPC/ppc64-calls.ll | 12 +-
test/CodeGen/PowerPC/ppc64-smallarg.ll | 59 +
test/CodeGen/PowerPC/ppc64le-smallarg.ll | 59 +
test/CodeGen/PowerPC/ppcf128-endian.ll | 154 +
test/CodeGen/PowerPC/resolvefi-basereg.ll | 362 ++
test/CodeGen/PowerPC/svr4-redzone.ll | 2 +-
test/CodeGen/PowerPC/vec_cmp.ll | 8 +-
test/CodeGen/PowerPC/vec_misaligned.ll | 10 +-
test/CodeGen/PowerPC/vec_mul.ll | 17 +
test/CodeGen/PowerPC/vec_shuffle_le.ll | 191 +
test/CodeGen/PowerPC/vperm-instcombine.ll | 17 +
test/CodeGen/PowerPC/vperm-lowering.ll | 66 +
test/CodeGen/R600/add_i64.ll | 6 +-
test/CodeGen/R600/and.ll | 106 +-
test/CodeGen/R600/array-ptr-calc-i32.ll | 7 +-
test/CodeGen/R600/atomic_cmp_swap_local.ll | 37 +
test/CodeGen/R600/atomic_load_add.ll | 45 +-
test/CodeGen/R600/atomic_load_sub.ll | 45 +-
test/CodeGen/R600/big_alu.ll | 12 +-
test/CodeGen/R600/bitcast.ll | 66 +-
test/CodeGen/R600/bswap.ll | 50 +
test/CodeGen/R600/ctlz_zero_undef.ll | 57 +
test/CodeGen/R600/ctpop.ll | 284 ++
test/CodeGen/R600/ctpop64.ll | 122 +
test/CodeGen/R600/cttz_zero_undef.ll | 57 +
test/CodeGen/R600/cvt_f32_ubyte.ll | 171 +
test/CodeGen/R600/default-fp-mode.ll | 10 +
test/CodeGen/R600/fceil.ll | 181 +-
test/CodeGen/R600/fceil64.ll | 103 +
test/CodeGen/R600/fcopysign.f32.ll | 50 +
test/CodeGen/R600/fcopysign.f64.ll | 37 +
test/CodeGen/R600/ffloor.ll | 34 +-
test/CodeGen/R600/fma.ll | 72 +-
test/CodeGen/R600/fnearbyint.ll | 57 +
test/CodeGen/R600/fp16_to_fp32.ll | 14 +
test/CodeGen/R600/fp32_to_fp16.ll | 14 +
test/CodeGen/R600/fp_to_sint_i64.ll | 12 +
test/CodeGen/R600/fsub64.ll | 7 +-
test/CodeGen/R600/ftrunc.ll | 165 +-
test/CodeGen/R600/gv-const-addrspace.ll | 6 +-
test/CodeGen/R600/indirect-private-64.ll | 36 +-
test/CodeGen/R600/input-mods.ll | 26 +
test/CodeGen/R600/large-alloca.ll | 14 +
test/CodeGen/R600/large-constant-initializer.ll | 19 +
test/CodeGen/R600/lds-output-queue.ll | 2 +-
test/CodeGen/R600/lds-size.ll | 2 +-
test/CodeGen/R600/lit.local.cfg | 3 +-
test/CodeGen/R600/llvm.AMDGPU.abs.ll | 48 +
test/CodeGen/R600/llvm.AMDGPU.brev.ll | 27 +
test/CodeGen/R600/llvm.AMDGPU.clamp.ll | 28 +
test/CodeGen/R600/llvm.AMDGPU.cvt_f32_ubyte.ll | 42 +
test/CodeGen/R600/llvm.AMDGPU.div_fixup.ll | 27 +
test/CodeGen/R600/llvm.AMDGPU.div_fmas.ll | 27 +
test/CodeGen/R600/llvm.AMDGPU.div_scale.ll | 48 +
test/CodeGen/R600/llvm.AMDGPU.fract.ll | 27 +
test/CodeGen/R600/llvm.AMDGPU.legacy.rsq.ll | 13 +
test/CodeGen/R600/llvm.AMDGPU.rcp.ll | 58 +
test/CodeGen/R600/llvm.AMDGPU.rsq.clamped.f64.ll | 11 +
test/CodeGen/R600/llvm.AMDGPU.rsq.clamped.ll | 14 +
test/CodeGen/R600/llvm.AMDGPU.rsq.ll | 13 +
test/CodeGen/R600/llvm.AMDGPU.trig_preop.ll | 29 +
test/CodeGen/R600/llvm.SI.gather4.ll | 508 +++
test/CodeGen/R600/llvm.SI.getlod.ll | 44 +
test/CodeGen/R600/llvm.exp2.ll | 93 +-
test/CodeGen/R600/llvm.log2.ll | 79 +
test/CodeGen/R600/llvm.rint.f64.ll | 20 +-
test/CodeGen/R600/llvm.rint.ll | 32 +-
test/CodeGen/R600/load.ll | 3 +-
test/CodeGen/R600/local-atomics.ll | 254 ++
test/CodeGen/R600/local-atomics64.ll | 251 ++
test/CodeGen/R600/local-memory-two-objects.ll | 4 +-
test/CodeGen/R600/local-memory.ll | 2 +-
test/CodeGen/R600/mul.ll | 42 +-
.../R600/no-initializer-constant-addrspace.ll | 20 +
test/CodeGen/R600/or.ll | 6 +-
test/CodeGen/R600/parallelandifcollapse.ll | 6 +
test/CodeGen/R600/parallelorifcollapse.ll | 5 +
test/CodeGen/R600/private-memory-atomics.ll | 31 +
test/CodeGen/R600/private-memory-broken.ll | 20 +
test/CodeGen/R600/private-memory.ll | 119 +-
test/CodeGen/R600/pv.ll | 4 +-
test/CodeGen/R600/reorder-stores.ll | 104 +
test/CodeGen/R600/rotl.i64.ll | 34 +
test/CodeGen/R600/rotl.ll | 54 +
test/CodeGen/R600/rotr.i64.ll | 58 +
test/CodeGen/R600/rotr.ll | 67 +-
test/CodeGen/R600/rsq.ll | 26 +
test/CodeGen/R600/saddo.ll | 62 +
test/CodeGen/R600/scalar_to_vector.ll | 80 +
test/CodeGen/R600/sdiv.ll | 90 +-
test/CodeGen/R600/setcc-equivalent.ll | 1 +
test/CodeGen/R600/sgpr-copy.ll | 4 +-
test/CodeGen/R600/shl.ll | 117 +-
test/CodeGen/R600/si-sgpr-spill.ll | 18 +-
test/CodeGen/R600/sign_extend.ll | 63 +-
.../R600/simplify-demanded-bits-build-pair.ll | 7 +-
test/CodeGen/R600/sint_to_fp.ll | 22 +
test/CodeGen/R600/sint_to_fp64.ll | 32 +-
test/CodeGen/R600/sra.ll | 130 +
test/CodeGen/R600/srem.ll | 50 +
test/CodeGen/R600/srl.ll | 126 +
test/CodeGen/R600/ssubo.ll | 64 +
test/CodeGen/R600/store.ll | 3 +-
test/CodeGen/R600/sub.ll | 50 +-
test/CodeGen/R600/uaddo.ll | 56 +-
test/CodeGen/R600/udivrem.ll | 358 ++
test/CodeGen/R600/uint_to_fp.f64.ll | 27 +
test/CodeGen/R600/uint_to_fp.ll | 76 +-
test/CodeGen/R600/usubo.ll | 66 +
test/CodeGen/R600/vector-alloca.ll | 74 +
test/CodeGen/R600/xor.ll | 66 +
test/CodeGen/SPARC/atomics.ll | 6 +-
test/CodeGen/SPARC/lit.local.cfg | 3 +-
test/CodeGen/SystemZ/Large/lit.local.cfg | 3 +-
test/CodeGen/SystemZ/cmpxchg-01.ll | 6 +-
test/CodeGen/SystemZ/cmpxchg-02.ll | 6 +-
test/CodeGen/SystemZ/cmpxchg-03.ll | 36 +-
test/CodeGen/SystemZ/cmpxchg-04.ll | 27 +-
test/CodeGen/SystemZ/lit.local.cfg | 3 +-
.../Thumb/2014-06-10-thumb1-ldst-opt-bug.ll | 18 +
test/CodeGen/Thumb/dyn-stackalloc.ll | 7 +-
test/CodeGen/Thumb/fastcc.ll | 36 +
test/CodeGen/Thumb/lit.local.cfg | 3 +-
test/CodeGen/Thumb/thumb-ldm.ll | 1 +
test/CodeGen/Thumb/thumb-memcpy-ldm-stm.ll | 1 +
test/CodeGen/Thumb2/2009-08-01-WrongLDRBOpc.ll | 2 +-
test/CodeGen/Thumb2/2009-08-06-SpDecBug.ll | 2 +-
test/CodeGen/Thumb2/2009-09-28-ITBlockBug.ll | 2 +-
test/CodeGen/Thumb2/2010-04-15-DynAllocBug.ll | 2 +-
test/CodeGen/Thumb2/2010-06-21-TailMergeBug.ll | 2 +-
test/CodeGen/Thumb2/2010-11-22-EpilogueBug.ll | 2 +-
.../Thumb2/2011-06-07-TwoAddrEarlyClobber.ll | 2 +-
test/CodeGen/Thumb2/buildvector-crash.ll | 2 +-
test/CodeGen/Thumb2/cross-rc-coalescing-2.ll | 2 +-
test/CodeGen/Thumb2/ldr-str-imm12.ll | 2 +-
test/CodeGen/Thumb2/lit.local.cfg | 3 +-
test/CodeGen/Thumb2/thumb2-branch.ll | 2 +-
test/CodeGen/Thumb2/thumb2-cbnz.ll | 2 +-
test/CodeGen/Thumb2/thumb2-ifcvt2.ll | 6 +-
test/CodeGen/Thumb2/thumb2-ifcvt3.ll | 6 +-
test/CodeGen/Thumb2/thumb2-spill-q.ll | 2 +-
test/CodeGen/Thumb2/tpsoft.ll | 54 +
test/CodeGen/Thumb2/v8_IT_3.ll | 8 +-
test/CodeGen/Thumb2/v8_IT_5.ll | 4 +-
test/CodeGen/X86/2007-05-05-Personality.ll | 6 +-
test/CodeGen/X86/2007-09-18-ShuffleXformBug.ll | 30 -
test/CodeGen/X86/2008-03-12-ThreadLocalAlias.ll | 2 +-
test/CodeGen/X86/2009-06-03-Win64SpillXMM.ll | 4 +-
test/CodeGen/X86/2010-01-08-Atomic64Bug.ll | 4 +-
test/CodeGen/X86/2010-06-01-DeadArg-DbgInfo.ll | 2 +-
test/CodeGen/X86/2010-10-08-cmpxchg8b.ll | 3 +-
test/CodeGen/X86/2011-01-24-DbgValue-Before-Use.ll | 2 +-
test/CodeGen/X86/2012-11-30-misched-dbg.ll | 18 +-
test/CodeGen/X86/2014-05-29-factorial.ll | 24 +
test/CodeGen/X86/2014-05-30-CombineAddNSW.ll | 20 +
test/CodeGen/X86/Atomics-64.ll | 62 +-
test/CodeGen/X86/GC/lit.local.cfg | 3 +-
test/CodeGen/X86/aliases.ll | 33 +-
test/CodeGen/X86/atom-fixup-lea4.ll | 23 +
test/CodeGen/X86/atomic-load-store-wide.ll | 2 +-
test/CodeGen/X86/atomic-minmax-i6432.ll | 65 +-
test/CodeGen/X86/atomic-ops-ancient-64.ll | 43 +
test/CodeGen/X86/atomic128.ll | 316 ++
test/CodeGen/X86/atomic16.ll | 77 +-
test/CodeGen/X86/atomic32.ll | 80 +-
test/CodeGen/X86/atomic64.ll | 41 +-
test/CodeGen/X86/atomic6432.ll | 92 +-
test/CodeGen/X86/atomic8.ll | 79 +-
test/CodeGen/X86/atomic_op.ll | 21 +-
test/CodeGen/X86/avx-blend.ll | 44 +-
test/CodeGen/X86/avx-intel-ocl.ll | 62 +-
test/CodeGen/X86/avx-intrinsics-x86.ll | 24 -
test/CodeGen/X86/avx-shuffle.ll | 8 +-
test/CodeGen/X86/avx-splat.ll | 9 +-
test/CodeGen/X86/avx-vperm2f128.ll | 2 +-
test/CodeGen/X86/avx-vshufp.ll | 10 +-
test/CodeGen/X86/avx2-shuffle.ll | 18 +
test/CodeGen/X86/avx512-cvt.ll | 8 +
test/CodeGen/X86/avx512-inc-dec.ll | 13 +
test/CodeGen/X86/avx512-intrinsics.ll | 68 +-
test/CodeGen/X86/avx512-nontemporal.ll | 19 +
test/CodeGen/X86/avx512-shuffle.ll | 62 +
test/CodeGen/X86/bswap-vector.ll | 29 +
test/CodeGen/X86/cmp.ll | 13 +
test/CodeGen/X86/cmpxchg-i1.ll | 87 +
test/CodeGen/X86/cmpxchg-i128-i1.ll | 83 +
test/CodeGen/X86/coalescer-remat.ll | 3 +-
test/CodeGen/X86/coff-comdat.ll | 92 +
test/CodeGen/X86/coff-comdat2.ll | 9 +
test/CodeGen/X86/coff-comdat3.ll | 8 +
test/CodeGen/X86/combine-64bit-vec-binop.ll | 273 ++
test/CodeGen/X86/combine-or.ll | 8 +-
test/CodeGen/X86/combine-vec-shuffle-2.ll | 164 +
test/CodeGen/X86/computeKnownBits_urem.ll | 14 +
test/CodeGen/X86/cvt16.ll | 64 +
test/CodeGen/X86/dagcombine-and-setcc.ll | 47 +
.../X86/dbg-changes-codegen-branch-folding.ll | 169 +-
test/CodeGen/X86/dllexport-x86_64.ll | 2 +-
test/CodeGen/X86/elf-comdat.ll | 11 +
test/CodeGen/X86/elf-comdat2.ll | 12 +
test/CodeGen/X86/fast-isel-args-fail2.ll | 10 +
test/CodeGen/X86/fast-isel-args.ll | 24 +
test/CodeGen/X86/fast-isel-branch_weights.ll | 19 +
test/CodeGen/X86/fast-isel-cmp-branch2.ll | 294 ++
test/CodeGen/X86/fast-isel-cmp-branch3.ll | 470 +++
test/CodeGen/X86/fast-isel-cmp.ll | 689 ++++
test/CodeGen/X86/fast-isel-fold-mem.ll | 12 +
test/CodeGen/X86/fast-isel-select-cmov.ll | 62 +
test/CodeGen/X86/fast-isel-select-cmov2.ll | 255 ++
test/CodeGen/X86/fast-isel-select-cmp.ll | 50 +
test/CodeGen/X86/fast-isel-select-pseudo-cmov.ll | 138 +
test/CodeGen/X86/fast-isel-select-sse.ll | 391 ++
test/CodeGen/X86/fast-isel-select.ll | 4 +-
test/CodeGen/X86/fast-isel-sse12-fptoint.ll | 54 +
test/CodeGen/X86/float-asmprint.ll | 5 +-
test/CodeGen/X86/frameaddr.ll | 44 +
test/CodeGen/X86/gcc_except_table.ll | 10 +-
test/CodeGen/X86/haddsub-2.ll | 802 +++++
test/CodeGen/X86/haddsub-undef.ll | 325 ++
test/CodeGen/X86/i8-umulo.ll | 24 +
test/CodeGen/X86/jump_table_alias.ll | 33 +
test/CodeGen/X86/jump_table_bitcast.ll | 46 +
test/CodeGen/X86/jump_tables.ll | 272 ++
test/CodeGen/X86/libcall-sret.ll | 28 +
test/CodeGen/X86/lit.local.cfg | 3 +-
test/CodeGen/X86/lower-bitcast.ll | 103 +-
test/CodeGen/X86/macho-comdat.ll | 6 +
test/CodeGen/X86/null-streamer.ll | 18 +
test/CodeGen/X86/pr20020.ll | 73 +
test/CodeGen/X86/pr20088.ll | 9 +
test/CodeGen/X86/pr5145.ll | 16 +-
test/CodeGen/X86/pshufd-combine-crash.ll | 14 +
test/CodeGen/X86/rdpmc.ll | 22 +
test/CodeGen/X86/shift-parts.ll | 4 +-
test/CodeGen/X86/sqrt.ll | 26 +
test/CodeGen/X86/sse2-intrinsics-x86.ll | 27 +
test/CodeGen/X86/sse3-avx-addsub-2.ll | 318 ++
test/CodeGen/X86/sse3-avx-addsub.ll | 296 ++
test/CodeGen/X86/sse41-blend.ll | 18 +
test/CodeGen/X86/sse41.ll | 22 +
test/CodeGen/X86/stackmap-fast-isel.ll | 165 +
test/CodeGen/X86/stackmap-liveness.ll | 153 +-
test/CodeGen/X86/swizzle-2.ll | 515 +++
test/CodeGen/X86/swizzle-avx2.ll | 91 +
test/CodeGen/X86/testb-je-fusion.ll | 20 +
test/CodeGen/X86/vec_cast2.ll | 27 +
test/CodeGen/X86/vec_splat.ll | 20 +-
test/CodeGen/X86/vec_split.ll | 33 +
test/CodeGen/X86/vector-gep.ll | 2 +-
test/CodeGen/X86/vector-idiv.ll | 42 +-
test/CodeGen/X86/vector-shuffle-128-v16.ll | 196 +
test/CodeGen/X86/vector-shuffle-128-v2.ll | 219 ++
test/CodeGen/X86/vector-shuffle-128-v4.ll | 170 +
test/CodeGen/X86/vector-shuffle-128-v8.ll | 493 +++
test/CodeGen/X86/vector-shuffle-combining.ll | 119 +
test/CodeGen/X86/vselect.ll | 14 +
test/CodeGen/X86/widen_cast-4.ll | 25 +-
test/CodeGen/X86/widen_cast-6.ll | 6 +-
test/CodeGen/X86/widen_conversions.ll | 18 +
test/CodeGen/X86/widen_shuffle-1.ll | 4 +-
test/CodeGen/X86/win64_eh.ll | 170 +
test/CodeGen/X86/x86-64-double-shifts-Oz-Os-O2.ll | 6 +-
test/CodeGen/X86/x86-64-frameaddr.ll | 15 -
test/CodeGen/X86/x86-64-static-relo-movl.ll | 24 +
test/CodeGen/X86/x86-frameaddr.ll | 9 -
test/CodeGen/X86/x86-frameaddr2.ll | 9 -
test/CodeGen/X86/x86-upgrade-avx-vbroadcast.ll | 41 +
test/CodeGen/X86/xaluo.ll | 743 ++++
test/CodeGen/XCore/dwarf_debug.ll | 39 +
test/CodeGen/XCore/lit.local.cfg | 3 +-
test/DebugInfo/2009-11-05-DeadGlobalVariable.ll | 2 +-
test/DebugInfo/2010-01-19-DbgScope.ll | 35 -
test/DebugInfo/AArch64/eh_frame.s | 4 +-
test/DebugInfo/AArch64/eh_frame_personality.ll | 4 +-
test/DebugInfo/AArch64/lit.local.cfg | 3 +-
test/DebugInfo/AArch64/struct_by_value.ll | 4 +-
test/DebugInfo/ARM/lit.local.cfg | 3 +-
test/DebugInfo/COFF/lit.local.cfg | 3 +-
test/DebugInfo/Inputs/arange-overlap.cc | 26 +
test/DebugInfo/Inputs/arange-overlap.elf-x86_64 | Bin 0 -> 9824 bytes
test/DebugInfo/Inputs/fission-ranges.cc | 17 +
test/DebugInfo/Inputs/fission-ranges.elf-x86_64 | Bin 0 -> 8693 bytes
test/DebugInfo/Mips/lit.local.cfg | 3 +-
test/DebugInfo/PR20038.ll | 168 +
test/DebugInfo/PowerPC/lit.local.cfg | 3 +-
test/DebugInfo/Sparc/lit.local.cfg | 3 +-
test/DebugInfo/SystemZ/eh_frame.s | 53 +-
test/DebugInfo/SystemZ/eh_frame_personality.s | 4 +-
test/DebugInfo/SystemZ/lit.local.cfg | 3 +-
test/DebugInfo/SystemZ/variable-loc.ll | 4 +-
test/DebugInfo/X86/2011-09-26-GlobalVarContext.ll | 10 +-
test/DebugInfo/X86/DW_AT_location-reference.ll | 2 +-
test/DebugInfo/X86/DW_AT_object_pointer.ll | 3 +-
test/DebugInfo/X86/DW_AT_specification.ll | 5 +-
test/DebugInfo/X86/arguments.ll | 6 +-
test/DebugInfo/X86/block-capture.ll | 15 +-
test/DebugInfo/X86/byvalstruct.ll | 3 +-
test/DebugInfo/X86/coff_debug_info_type.ll | 2 +
test/DebugInfo/X86/concrete_out_of_line.ll | 4 +-
test/DebugInfo/X86/dbg-const-int.ll | 10 +-
test/DebugInfo/X86/dbg-value-const-byref.ll | 3 +-
test/DebugInfo/X86/dbg-value-inlined-parameter.ll | 24 +-
test/DebugInfo/X86/dbg-value-isel.ll | 2 +-
test/DebugInfo/X86/dbg-value-location.ll | 2 +-
test/DebugInfo/X86/dbg-value-terminator.ll | 58 +-
test/DebugInfo/X86/dbg_value_direct.ll | 3 +-
.../X86/debug-info-block-captured-self.ll | 24 +-
test/DebugInfo/X86/debug-info-blocks.ll | 18 +-
test/DebugInfo/X86/debug-loc-asan.ll | 186 +
test/DebugInfo/X86/debug-loc-offset.ll | 134 +-
test/DebugInfo/X86/dwarf-public-names.ll | 16 +-
test/DebugInfo/X86/elf-names.ll | 4 +-
test/DebugInfo/X86/empty-and-one-elem-array.ll | 10 +-
test/DebugInfo/X86/fission-ranges.ll | 7 +
test/DebugInfo/X86/formal_parameter.ll | 3 +-
test/DebugInfo/X86/generate-odr-hash.ll | 8 +-
test/DebugInfo/X86/gnu-public-names.ll | 347 +-
test/DebugInfo/X86/lit.local.cfg | 3 +-
test/DebugInfo/X86/misched-dbg-value.ll | 41 +-
test/DebugInfo/X86/op_deref.ll | 20 +-
test/DebugInfo/X86/parameters.ll | 6 +-
test/DebugInfo/X86/pr12831.ll | 10 +-
test/DebugInfo/X86/pr19307.ll | 147 +
test/DebugInfo/X86/sret.ll | 4 +-
test/DebugInfo/X86/subregisters.ll | 2 +-
test/DebugInfo/cross-cu-inlining.ll | 3 +-
test/DebugInfo/cross-cu-linkonce-distinct.ll | 95 +
test/DebugInfo/dead-argument-order.ll | 81 +
test/DebugInfo/dwarf-public-names.ll | 16 +-
test/DebugInfo/global.ll | 3 +
test/DebugInfo/incorrect-variable-debugloc.ll | 391 ++
test/DebugInfo/inline-no-debug-info.ll | 69 +
test/DebugInfo/inlined-arguments.ll | 6 +-
test/DebugInfo/llvm-symbolizer.test | 8 +
test/DebugInfo/missing-abstract-variable.ll | 191 +
test/DebugInfo/nodebug.ll | 51 +
test/ExecutionEngine/MCJIT/eh-lg-pic.ll | 2 +-
test/ExecutionEngine/MCJIT/lit.local.cfg | 2 +-
.../RuntimeDyld/X86/MachO_x86-64_PIC_relocations.s | 32 +
test/ExecutionEngine/RuntimeDyld/X86/lit.local.cfg | 3 +
test/ExecutionEngine/lit.local.cfg | 5 +-
test/Feature/alias2.ll | 25 +-
test/Feature/aliases.ll | 11 +-
test/Feature/comdat.ll | 18 +
test/Feature/globalvars.ll | 2 +
.../AddressSanitizer/X86/asm_attr.ll | 8 +-
.../AddressSanitizer/X86/asm_mov.ll | 111 +-
.../Instrumentation/AddressSanitizer/X86/asm_mov.s | 28 +-
.../X86/asm_mov_no_instrumentation.s | 4 +-
.../AddressSanitizer/X86/asm_swap_intel.s | 30 +-
.../AddressSanitizer/X86/lit.local.cfg | 3 +-
.../AddressSanitizer/coverage-dbg.ll | 68 +-
test/Instrumentation/AddressSanitizer/coverage.ll | 16 +
.../Instrumentation/AddressSanitizer/debug_info.ll | 7 +-
.../do-not-instrument-llvm-metadata.ll | 2 +-
.../AddressSanitizer/global_metadata.ll | 63 +
.../AddressSanitizer/instrument_global.ll | 4 +-
.../instrument_initializer_metadata.ll | 10 +-
test/Instrumentation/AddressSanitizer/lifetime.ll | 2 +-
.../AddressSanitizer/stack-poisoning.ll | 2 +-
test/Instrumentation/BoundsChecking/phi.ll | 2 +-
.../DataFlowSanitizer/prefix-rename.ll | 8 +
test/Instrumentation/MemorySanitizer/atomics.ll | 10 +-
.../instrumentation-with-call-threshold.ll | 6 +
.../MemorySanitizer/missing_origin.ll | 19 +
test/Instrumentation/MemorySanitizer/msan_basic.ll | 45 +-
.../MemorySanitizer/mul_by_constant.ll | 94 +
.../MemorySanitizer/store-origin.ll | 2 +-
.../MemorySanitizer/vector_arith.ll | 65 +
.../Instrumentation/MemorySanitizer/vector_pack.ll | 60 +
.../MemorySanitizer/vector_shift.ll | 10 +-
test/Instrumentation/ThreadSanitizer/tsan_basic.ll | 6 +-
test/LTO/jump-table-type.ll | 23 +
test/LTO/lit.local.cfg | 3 +-
test/LTO/no-undefined-puts-when-implemented.ll | 2 +-
test/Linker/Inputs/PR8300.b.ll | 2 +-
test/Linker/Inputs/alias.ll | 2 +-
test/Linker/Inputs/comdat.ll | 20 +
test/Linker/Inputs/comdat2.ll | 2 +
test/Linker/Inputs/comdat3.ll | 2 +
test/Linker/Inputs/comdat4.ll | 5 +
test/Linker/Inputs/comdat5.ll | 15 +
test/Linker/Inputs/cycle.ll | 2 -
test/Linker/alias.ll | 6 +-
test/Linker/comdat.ll | 32 +
test/Linker/comdat2.ll | 7 +
test/Linker/comdat3.ll | 5 +
test/Linker/comdat4.ll | 5 +
test/Linker/comdat5.ll | 7 +
test/Linker/comdat6.ll | 13 +
test/Linker/comdat7.ll | 9 +
test/Linker/comdat8.ll | 10 +
test/Linker/cycle.ll | 7 -
test/Linker/unnamed-addr1-a.ll | 11 +
test/Linker/unnamed-addr1-b.ll | 6 +
test/MC/AArch64/alias-logicalimm.s | 41 +
test/MC/AArch64/arm64-leaf-compact-unwind.s | 8 +-
test/MC/AArch64/arm64-system-encoding.s | 2 +-
test/MC/AArch64/basic-a64-diagnostics.s | 51 +-
test/MC/AArch64/basic-a64-instructions.s | 19 +
test/MC/AArch64/dot-req-case-insensitive.s | 18 +
test/MC/AArch64/dot-req-diagnostics.s | 37 +
test/MC/AArch64/dot-req.s | 37 +
test/MC/AArch64/ldr-pseudo-obj-errors.s | 13 +
test/MC/AArch64/ldr-pseudo.s | 231 ++
test/MC/AArch64/lit.local.cfg | 3 +-
test/MC/ARM/AlignedBundling/lit.local.cfg | 3 +-
test/MC/ARM/Windows/multiple-text-sections.s | 58 +
test/MC/ARM/Windows/text-attributes.s | 30 +
test/MC/ARM/diagnostics.s | 18 +
test/MC/ARM/dwarf-asm-multiple-sections.s | 79 +
test/MC/ARM/dwarf-asm-no-code.s | 27 +
test/MC/ARM/dwarf-asm-nonstandard-section.s | 57 +
test/MC/ARM/dwarf-asm-single-section.s | 56 +
test/MC/ARM/gas-compl-copr-reg.s | 14 +
test/MC/ARM/lit.local.cfg | 3 +-
test/MC/ARM/macho-relocs-with-addend.s | 34 +
test/MC/ARM/thumb-types.s | 26 +
test/MC/AsmParser/cfi-invalid-startproc.s | 16 -
test/MC/AsmParser/conditional_asm.s | 60 +
test/MC/AsmParser/directive_file.s | 1 +
test/MC/AsmParser/directive_line.s | 1 +
test/MC/AsmParser/directive_loc.s | 1 +
test/MC/AsmParser/directive_seh.s | 33 +-
test/MC/AsmParser/if-diagnostics.s | 29 +
test/MC/AsmParser/lit.local.cfg | 3 +-
test/MC/AsmParser/vararg.s | 10 +
test/MC/COFF/alias.s | 7 +-
test/MC/COFF/basic-coff-64.s | 4 +-
test/MC/COFF/basic-coff.s | 4 +-
test/MC/COFF/early-dce.s | 16 +
test/MC/COFF/global_ctors_dtors.ll | 18 +-
test/MC/COFF/linker-options.ll | 2 +
test/MC/COFF/linkonce-invalid.s | 14 +-
test/MC/COFF/linkonce.s | 57 +-
test/MC/COFF/lit.local.cfg | 3 +-
test/MC/COFF/lset0.s | 2 +-
test/MC/COFF/section-comdat-conflict.s | 13 +
test/MC/COFF/section-comdat-conflict2.s | 6 +
test/MC/COFF/section-comdat.s | 98 +-
test/MC/COFF/section-name-encoding.s | 10 +-
test/MC/COFF/seh-stackalloc-zero.s | 11 +
test/MC/COFF/seh.s | 4 +-
test/MC/COFF/symbol-fragment-offset-64.s | 4 +-
test/MC/COFF/symbol-fragment-offset.s | 4 +-
.../AArch64/basic-a64-instructions.txt | 24 +-
test/MC/Disassembler/AArch64/lit.local.cfg | 3 +-
test/MC/Disassembler/ARM/hex-immediates.txt | 8 +-
test/MC/Disassembler/ARM/lit.local.cfg | 3 +-
test/MC/Disassembler/Mips/lit.local.cfg | 3 +-
test/MC/Disassembler/Mips/mips32r6.txt | 51 +-
test/MC/Disassembler/Mips/mips64r6.txt | 64 +-
test/MC/Disassembler/PowerPC/lit.local.cfg | 3 +-
test/MC/Disassembler/Sparc/lit.local.cfg | 3 +-
test/MC/Disassembler/SystemZ/insns.txt | 54 +
test/MC/Disassembler/SystemZ/lit.local.cfg | 3 +-
test/MC/Disassembler/X86/avx-512.txt | 6 +
test/MC/Disassembler/X86/hex-immediates.txt | 2 +-
test/MC/Disassembler/X86/lit.local.cfg | 3 +-
test/MC/Disassembler/X86/moffs.txt | 6 +-
test/MC/Disassembler/XCore/lit.local.cfg | 3 +-
test/MC/ELF/ARM/bss-non-zero-value.s | 9 +
test/MC/ELF/ARM/gnu-type-hash-diagnostics.s | 9 +
test/MC/ELF/ARM/gnu-type-hash.s | 16 +
test/MC/ELF/ARM/lit.local.cfg | 3 +
test/MC/ELF/cfi-adjust-cfa-offset.s | 2 +-
test/MC/ELF/cfi-advance-loc2.s | 2 +-
test/MC/ELF/cfi-def-cfa-offset.s | 2 +-
test/MC/ELF/cfi-def-cfa-register.s | 2 +-
test/MC/ELF/cfi-def-cfa.s | 2 +-
test/MC/ELF/cfi-escape.s | 2 +-
test/MC/ELF/cfi-offset.s | 2 +-
test/MC/ELF/cfi-register.s | 2 +-
test/MC/ELF/cfi-rel-offset.s | 2 +-
test/MC/ELF/cfi-rel-offset2.s | 2 +-
test/MC/ELF/cfi-remember.s | 2 +-
test/MC/ELF/cfi-restore.s | 2 +-
test/MC/ELF/cfi-same-value.s | 2 +-
test/MC/ELF/cfi-sections.s | 4 +-
test/MC/ELF/cfi-signal-frame.s | 4 +-
test/MC/ELF/cfi-undefined.s | 2 +-
test/MC/ELF/cfi-version.ll | 45 +
test/MC/ELF/cfi-window-save.s | 2 +-
test/MC/ELF/cfi-zero-addr-delta.s | 2 +-
test/MC/ELF/cfi.s | 70 +-
test/MC/ELF/gnu-type-diagnostics.s | 18 +
test/MC/ELF/gnu-type.s | 38 +
test/MC/ELF/lit.local.cfg | 3 +-
test/MC/ELF/no-reloc.s | 19 +
test/MC/ELF/pr19430.s | 14 +
test/MC/MachO/AArch64/lit.local.cfg | 3 +-
test/MC/MachO/ARM/aliased-symbols.s | 115 +
test/MC/MachO/ARM/lit.local.cfg | 3 +-
test/MC/MachO/eh-frame-reloc.s | 7 +-
test/MC/MachO/eh-symbols.s | 25 -
test/MC/MachO/eh_symbol.s | 2 +-
test/MC/MachO/lit.local.cfg | 3 +-
test/MC/MachO/pr19185.s | 6 +
test/MC/MachO/variable-exprs.s | 8 +-
test/MC/Mips/cpsetup-bad.s | 14 +
test/MC/Mips/eh-frame.s | 8 +-
test/MC/Mips/elf_eflags.s | 36 +
test/MC/Mips/lit.local.cfg | 3 +-
test/MC/Mips/mips-abi-bad.s | 20 +
test/MC/Mips/mips-data-directives.s | 4 +-
test/MC/Mips/mips-expansions-bad.s | 6 +
test/MC/Mips/mips-expansions.s | 13 +
test/MC/Mips/mips-noat.s | 11 +-
test/MC/Mips/mips1/invalid-mips2.s | 1 +
test/MC/Mips/mips1/invalid-mips32.s | 10 +
test/MC/Mips/mips1/invalid-mips4.s | 19 +-
test/MC/Mips/mips1/invalid-mips5.s | 19 +-
test/MC/Mips/mips1/valid.s | 15 +-
test/MC/Mips/mips2/invalid-mips3-wrong-error.s | 1 -
test/MC/Mips/mips2/invalid-mips3.s | 1 +
test/MC/Mips/mips2/invalid-mips32.s | 26 +-
test/MC/Mips/mips2/invalid-mips32r2.s | 21 +-
test/MC/Mips/mips2/invalid-mips4.s | 19 +-
test/MC/Mips/mips2/invalid-mips5.s | 19 +-
test/MC/Mips/mips2/valid.s | 24 +-
test/MC/Mips/mips3/invalid-mips32.s | 10 +
test/MC/Mips/mips3/invalid-mips4.s | 23 +-
test/MC/Mips/mips3/invalid-mips5.s | 19 +-
test/MC/Mips/mips3/valid.s | 37 +-
test/MC/Mips/mips32/abiflags.s | 37 +
test/MC/Mips/mips32/valid.s | 35 +-
test/MC/Mips/mips32r2/abiflags.s | 38 +
test/MC/Mips/mips32r2/invalid.s | 10 +
test/MC/Mips/mips32r2/valid.s | 38 +-
test/MC/Mips/mips32r6/invalid-mips1-wrong-error.s | 2 +
test/MC/Mips/mips32r6/invalid-mips1.s | 16 +
test/MC/Mips/mips32r6/invalid-mips2.s | 12 +
test/MC/Mips/mips32r6/invalid-mips32-wrong-error.s | 4 +
test/MC/Mips/mips32r6/invalid-mips32.s | 25 +
test/MC/Mips/mips32r6/invalid-mips32r2.s | 15 +
test/MC/Mips/mips32r6/invalid-mips4-wrong-error.s | 21 +
test/MC/Mips/mips32r6/invalid-mips4.s | 11 +
test/MC/Mips/mips32r6/invalid-mips5-wrong-error.s | 11 +
test/MC/Mips/mips32r6/invalid-mips5.s | 9 +
test/MC/Mips/mips32r6/invalid.s | 14 +
test/MC/Mips/mips32r6/relocations.s | 25 +-
test/MC/Mips/mips32r6/valid.s | 72 +-
test/MC/Mips/mips4/invalid-mips32.s | 10 +
test/MC/Mips/mips4/valid.s | 42 +-
test/MC/Mips/mips5/invalid-mips32.s | 10 +
test/MC/Mips/mips5/invalid-mips64.s | 3 +
test/MC/Mips/mips5/valid.s | 42 +-
test/MC/Mips/mips64-expansions.s | 209 ++
test/MC/Mips/mips64/abiflags.s | 37 +
test/MC/Mips/mips64/valid.s | 53 +-
test/MC/Mips/mips64r2/abi-bad.s | 9 +
test/MC/Mips/mips64r2/abiflags.s | 37 +
test/MC/Mips/mips64r2/invalid.s | 10 +
test/MC/Mips/mips64r2/valid.s | 56 +-
test/MC/Mips/mips64r6/invalid-mips1-wrong-error.s | 2 +
test/MC/Mips/mips64r6/invalid-mips1.s | 19 +
test/MC/Mips/mips64r6/invalid-mips2.s | 15 +
test/MC/Mips/mips64r6/invalid-mips3.s | 19 +
test/MC/Mips/mips64r6/invalid-mips32-wrong-error.s | 20 +
test/MC/Mips/mips64r6/invalid-mips4-wrong-error.s | 21 +
test/MC/Mips/mips64r6/invalid-mips4.s | 14 +
test/MC/Mips/mips64r6/invalid-mips5-wrong-error.s | 6 +-
test/MC/Mips/mips64r6/invalid-mips5.s | 12 +
test/MC/Mips/mips64r6/invalid-mips64.s | 54 +
test/MC/Mips/mips64r6/invalid.s | 12 +
test/MC/Mips/mips64r6/relocations.s | 33 +-
test/MC/Mips/mips64r6/valid.s | 86 +-
test/MC/Mips/mips_abi_flags_xx.s | 37 +
test/MC/Mips/mips_abi_flags_xx_set.s | 38 +
test/MC/Mips/msa/abiflags.s | 38 +
test/MC/Mips/nacl-mask.s | 34 +
test/MC/Mips/nooddspreg-cmdarg.s | 43 +
test/MC/Mips/nooddspreg-error.s | 14 +
test/MC/Mips/nooddspreg.s | 45 +
test/MC/Mips/oddspreg.s | 56 +
test/MC/PowerPC/lit.local.cfg | 3 +-
test/MC/PowerPC/ppc64-initial-cfa.s | 8 +-
test/MC/Sparc/lit.local.cfg | 3 +-
test/MC/SystemZ/insn-bad-z196.s | 54 +
test/MC/SystemZ/insn-bad.s | 15 +
test/MC/SystemZ/insn-good-z196.s | 42 +
test/MC/SystemZ/lit.local.cfg | 3 +-
test/MC/X86/AlignedBundling/lit.local.cfg | 3 +-
test/MC/X86/avx512-encodings.s | 70 +-
test/MC/X86/intel-syntax.s | 8 +
test/MC/X86/lit.local.cfg | 3 +-
test/MC/X86/no-elf-compact-unwind.s | 1 +
test/MC/X86/x86_long_nop.s | 10 +
test/MC/X86/x86_nop.s | 1 +
test/Makefile | 9 +
test/Object/ARM/lit.local.cfg | 3 +-
test/Object/Inputs/corrupt-archive.a | Bin 0 -> 2698 bytes
test/Object/Inputs/darwin-m-test1.mach0-armv7 | Bin 0 -> 432 bytes
test/Object/Inputs/darwin-m-test2.macho-i386 | Bin 0 -> 88 bytes
test/Object/Inputs/darwin-m-test3.macho-x86-64 | Bin 0 -> 9216 bytes
test/Object/Inputs/hello-world.macho-x86_64 | Bin 0 -> 8496 bytes
test/Object/Inputs/macho-archive-x86_64.a | Bin 0 -> 1304 bytes
test/Object/Inputs/no-sections.elf-x86-64 | Bin 0 -> 2912 bytes
test/Object/Inputs/program-headers.mips64 | Bin 0 -> 790 bytes
test/Object/Inputs/trivial.ll | 4 +
test/Object/Mips/lit.local.cfg | 3 +-
test/Object/X86/archive-ir-asm.ll | 20 +
test/Object/X86/lit.local.cfg | 3 +-
test/Object/X86/nm-ir.ll | 45 +
test/Object/archive-long-index.test | 2 +-
test/Object/archive-symtab.test | 26 +-
test/Object/coff-archive-short.test | 2 +-
test/Object/coff-archive.test | 2 +-
test/Object/directory.ll | 2 +-
test/Object/mangle-ir.ll | 6 +
test/Object/nm-archive.test | 9 +-
test/Object/nm-darwin-m.test | 53 +
test/Object/nm-ir.ll | 34 -
test/Object/nm-trivial-object.test | 42 +-
test/Object/nm-universal-binary.test | 26 +-
test/Object/obj2yaml.test | 6 +-
test/Object/objdump-no-sectionheaders.test | 6 +
test/Object/simple-archive.test | 2 +-
test/Object/size-trivial-macho.test | 78 +-
test/Object/yaml2obj-coff-multi-doc.test | 91 +
test/Object/yaml2obj-elf-multi-doc.test | 56 +
test/Object/yaml2obj-elf-symbol-visibility.yaml | 126 +
test/Other/X86/lit.local.cfg | 3 +-
test/Other/constant-fold-gep.ll | 19 +-
test/Other/llvm-nm-without-aliases.ll | 4 +-
test/TableGen/ForeachLoop.td | 26 +-
test/TableGen/if-empty-list-arg.td | 7 +
test/Transforms/ArgumentPromotion/basictest.ll | 32 +-
test/Transforms/ArgumentPromotion/byval-2.ll | 37 +-
test/Transforms/ArgumentPromotion/byval.ll | 33 +-
test/Transforms/ArgumentPromotion/dbg.ll | 22 +
.../ARM/atomic-expansion-v7.ll | 68 +-
.../ARM/atomic-expansion-v8.ll | 70 +-
.../AtomicExpandLoadLinked/ARM/cmpxchg-weak.ll | 97 +
.../AtomicExpandLoadLinked/ARM/lit.local.cfg | 3 +-
test/Transforms/BBVectorize/lit.local.cfg | 3 +-
test/Transforms/CodeGenPrepare/X86/lit.local.cfg | 3 +-
.../ConstantHoisting/AArch64/lit.local.cfg | 3 +-
.../ConstantHoisting/PowerPC/lit.local.cfg | 3 +-
.../ConstantHoisting/X86/large-immediate.ll | 9 +
test/Transforms/ConstantHoisting/X86/lit.local.cfg | 3 +-
test/Transforms/ConstantHoisting/X86/stackmap.ll | 6 +-
test/Transforms/FunctionAttrs/nocapture.ll | 2 +-
test/Transforms/FunctionAttrs/readattrs.ll | 14 +
test/Transforms/GCOVProfiling/global-ctor.ll | 58 +
test/Transforms/GCOVProfiling/linezero.ll | 143 +
test/Transforms/GVN/calloc-load-removal.ll | 25 +
test/Transforms/GVN/invariant-load.ll | 31 +
.../Transforms/GlobalDCE/2009-01-05-DeadAliases.ll | 8 +-
test/Transforms/GlobalMerge/AArch64/arm64.ll | 88 -
test/Transforms/GlobalMerge/AArch64/lit.local.cfg | 4 -
test/Transforms/GlobalMerge/ARM/arm.ll | 85 -
test/Transforms/GlobalMerge/ARM/lit.local.cfg | 4 -
.../GlobalOpt/2009-02-15-BitcastAlias.ll | 2 +-
test/Transforms/GlobalOpt/2009-03-06-Anonymous.ll | 18 +-
test/Transforms/GlobalOpt/alias-resolve.ll | 8 +-
.../GlobalOpt/constantfold-initializers.ll | 38 +-
.../2014-06-21-congruent-constant.ll | 57 +
test/Transforms/Inline/blockaddress.ll | 5 +-
test/Transforms/Inline/debug-invoke.ll | 37 +
test/Transforms/Inline/null-function.ll | 9 +
test/Transforms/InstCombine/2010-03-03-ExtElim.ll | 4 +-
.../InstCombine/2012-07-30-addrsp-bitcast.ll | 2 +-
test/Transforms/InstCombine/AddOverFlow.ll | 118 +
test/Transforms/InstCombine/abs_abs.ll | 961 +++++
test/Transforms/InstCombine/add-shrink.ll | 10 +-
test/Transforms/InstCombine/add-sitofp.ll | 2 +-
test/Transforms/InstCombine/add2.ll | 237 ++
test/Transforms/InstCombine/addrspacecast.ll | 80 +-
test/Transforms/InstCombine/align-2d-gep.ll | 2 +-
.../InstCombine/bitcast-alias-function.ll | 24 +-
test/Transforms/InstCombine/cast.ll | 2 +-
.../constant-fold-address-space-pointer.ll | 10 +
test/Transforms/InstCombine/descale-zero.ll | 21 +
test/Transforms/InstCombine/distribute.ll | 68 +
test/Transforms/InstCombine/ffs-1.ll | 6 +-
test/Transforms/InstCombine/gepphigep.ll | 56 +
test/Transforms/InstCombine/getelementptr.ll | 17 +-
test/Transforms/InstCombine/icmp.ll | 63 +-
test/Transforms/InstCombine/intrinsics.ll | 13 +
test/Transforms/InstCombine/memcpy-from-global.ll | 3 +-
test/Transforms/InstCombine/overflow-mul.ll | 11 +
test/Transforms/InstCombine/pr20059.ll | 16 +
test/Transforms/InstCombine/pr20079.ll | 9 +
test/Transforms/InstCombine/r600-intrinsics.ll | 47 +
test/Transforms/InstCombine/rem.ll | 2 +-
test/Transforms/InstCombine/select.ll | 115 +-
test/Transforms/InstCombine/sext.ll | 4 +-
test/Transforms/InstCombine/sub.ll | 20 +
test/Transforms/InstCombine/vec_shuffle.ll | 9 +
test/Transforms/InstCombine/zext-bool-add-sub.ll | 2 +-
.../InstSimplify/2010-12-20-Distribute.ll | 62 -
test/Transforms/InstSimplify/apint-or.ll | 37 +
test/Transforms/InstSimplify/compare.ll | 30 +
test/Transforms/JumpThreading/pr15851_hang.ll | 22 +
test/Transforms/JumpThreading/select.ll | 2 +-
test/Transforms/LICM/extra-copies.ll | 29 +
test/Transforms/LICM/hoist-bitcast-load.ll | 201 ++
test/Transforms/LoadCombine/load-combine.ll | 190 +
test/Transforms/LoopIdiom/X86/lit.local.cfg | 3 +-
.../LoopStrengthReduce/AArch64/lit.local.cfg | 3 +-
.../ARM/2012-06-15-lsr-noaddrmode.ll | 2 +-
.../LoopStrengthReduce/ARM/lit.local.cfg | 3 +-
.../LoopStrengthReduce/X86/lit.local.cfg | 3 +-
test/Transforms/LoopUnroll/PowerPC/lit.local.cfg | 3 +-
test/Transforms/LoopUnroll/X86/lit.local.cfg | 3 +-
test/Transforms/LoopUnroll/pr18861.ll | 43 +
test/Transforms/LoopUnroll/runtime-loop.ll | 6 +
test/Transforms/LoopUnroll/unroll-pragmas.ll | 285 ++
.../Transforms/LoopVectorize/AArch64/lit.local.cfg | 3 +-
test/Transforms/LoopVectorize/ARM/lit.local.cfg | 3 +-
.../Transforms/LoopVectorize/PowerPC/lit.local.cfg | 3 +-
.../LoopVectorize/X86/already-vectorized.ll | 4 +-
test/Transforms/LoopVectorize/X86/avx512.ll | 35 +
test/Transforms/LoopVectorize/X86/lit.local.cfg | 3 +-
.../LoopVectorize/X86/metadata-enable.ll | 9 +-
.../Transforms/LoopVectorize/X86/vect.omp.force.ll | 2 +-
.../LoopVectorize/X86/vect.omp.force.small-tc.ll | 2 +-
.../X86/vectorization-remarks-missed.ll | 160 +
.../LoopVectorize/X86/vectorization-remarks.ll | 17 +-
test/Transforms/LoopVectorize/XCore/lit.local.cfg | 3 +-
test/Transforms/LoopVectorize/control-flow.ll | 78 +
test/Transforms/LoopVectorize/if-conversion.ll | 2 +-
test/Transforms/LoopVectorize/induction.ll | 61 +
test/Transforms/LoopVectorize/intrinsic.ll | 102 +
test/Transforms/LoopVectorize/metadata-unroll.ll | 2 +-
test/Transforms/LoopVectorize/metadata-width.ll | 2 +-
test/Transforms/LoopVectorize/no_switch.ll | 85 +
.../LoopVectorize/runtime-check-readonly.ll | 1 +
.../LoopVectorize/vect.omp.persistence.ll | 8 +-
test/Transforms/LoopVectorize/vectorize-once.ll | 6 +-
test/Transforms/LowerAtomic/atomic-swap.ll | 17 +-
.../LowerSwitch/2014-06-10-SwitchContiguousOpt.ll | 27 +
.../2014-06-11-SwitchDefaultUnreachableOpt.ll | 41 +
test/Transforms/LowerSwitch/feature.ll | 114 +-
test/Transforms/MergeFunc/functions.ll | 27 +
test/Transforms/MergeFunc/ranges.ll | 43 +
.../Reassociate/2002-05-15-AgressiveSubMove.ll | 15 +-
.../Reassociate/2002-05-15-MissedTree.ll | 14 +-
.../Reassociate/2002-05-15-SubReassociate.ll | 34 +-
.../Reassociate/2002-05-15-SubReassociate2.ll | 13 -
.../Reassociate/2005-09-01-ArrayOutOfBounds.ll | 43 +-
.../Reassociate/2006-04-27-ReassociateVector.ll | 16 +-
test/Transforms/Reassociate/basictest.ll | 201 +-
test/Transforms/Reassociate/fp-commute.ll | 21 +-
test/Transforms/Reassociate/inverses.ll | 12 +
test/Transforms/Reassociate/looptest.ll | 1 +
test/Transforms/Reassociate/mightymul.ll | 4 +-
test/Transforms/Reassociate/multistep.ll | 1 -
test/Transforms/Reassociate/negation.ll | 36 +-
test/Transforms/Reassociate/otherops.ll | 42 +-
test/Transforms/Reassociate/shift-factor.ll | 20 +-
test/Transforms/Reassociate/subtest.ll | 31 +-
test/Transforms/Reassociate/subtest2.ll | 13 -
test/Transforms/SCCP/atomic.ll | 9 +
.../Transforms/SLPVectorizer/AArch64/lit.local.cfg | 3 +-
test/Transforms/SLPVectorizer/ARM/lit.local.cfg | 3 +-
test/Transforms/SLPVectorizer/R600/lit.local.cfg | 3 +-
test/Transforms/SLPVectorizer/X86/addsub.ll | 181 +
test/Transforms/SLPVectorizer/X86/gep.ll | 41 +
test/Transforms/SLPVectorizer/X86/intrinsic.ll | 267 ++
test/Transforms/SLPVectorizer/X86/lit.local.cfg | 3 +-
test/Transforms/SLPVectorizer/X86/pr19657.ll | 73 +
test/Transforms/SLPVectorizer/XCore/lit.local.cfg | 3 +-
test/Transforms/SROA/slice-order-independence.ll | 37 +
test/Transforms/SROA/slice-width.ll | 25 +
.../SeparateConstOffsetFromGEP/NVPTX/lit.local.cfg | 3 +-
.../NVPTX/split-gep-and-gvn.ll | 92 +-
.../SeparateConstOffsetFromGEP/NVPTX/split-gep.ll | 220 +-
test/Transforms/SimplifyCFG/PR17073.ll | 73 +
test/Transforms/SimplifyCFG/SPARC/lit.local.cfg | 3 +-
test/Transforms/SimplifyCFG/X86/lit.local.cfg | 3 +-
.../SimplifyCFG/X86/switch_to_lookup_table.ll | 55 +
.../Transforms/SimplifyCFG/speculate-vector-ops.ll | 60 +
test/Transforms/TailDup/X86/lit.local.cfg | 3 +-
test/Transforms/TailDup/lit.local.cfg | 3 +-
test/Unit/lit.cfg | 5 +
test/Verifier/alias.ll | 15 +
test/Verifier/bitcast-alias-address-space.ll | 10 +
test/Verifier/comdat.ll | 5 +
test/Verifier/comdat2.ll | 5 +
test/Verifier/jumptable.ll | 9 +
test/Verifier/range-1.ll | 2 +-
test/Verifier/range-2.ll | 30 +
test/lit.cfg | 9 +-
test/tools/llvm-cov/copy_block_helper.m | 2 +-
test/tools/llvm-cov/llvm-cov.test | 8 +-
test/tools/llvm-cov/range_based_for.cpp | 2 +-
test/tools/llvm-objdump/lit.local.cfg | 3 +-
test/tools/llvm-readobj/ARM/lit.local.cfg | 3 +-
.../tools/llvm-readobj/Inputs/got-empty.exe.mipsel | Bin 0 -> 9400 bytes
.../llvm-readobj/Inputs/got-tls.so.elf-mips64el | Bin 0 -> 7398 bytes
test/tools/llvm-readobj/mips-got.test | 331 ++
test/tools/llvm-readobj/program-headers.test | 28 +-
test/tools/llvm-readobj/relocations.test | 52 +-
test/tools/llvm-readobj/sections-ext.test | 52 +-
tools/CMakeLists.txt | 2 +-
tools/Makefile | 6 +-
tools/bugpoint/ExecutionDriver.cpp | 6 +-
tools/bugpoint/ExtractFunction.cpp | 2 +-
tools/bugpoint/Miscompilation.cpp | 8 +-
tools/bugpoint/OptimizerDriver.cpp | 2 +-
tools/bugpoint/ToolRunner.cpp | 8 +-
tools/gold/CMakeLists.txt | 7 +-
tools/gold/Makefile | 4 +-
tools/gold/gold-plugin.cpp | 206 +-
tools/lli/RemoteMemoryManager.cpp | 2 +-
tools/lli/lli.cpp | 20 +-
tools/llvm-ar/Android.mk | 48 +
tools/llvm-ar/CMakeLists.txt | 1 +
tools/llvm-ar/Makefile | 2 +-
tools/llvm-ar/llvm-ar.cpp | 87 +-
tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp | 12 +-
tools/llvm-c-test/Android.mk | 1 +
tools/llvm-config/Android.mk | 2 +-
tools/llvm-cov/llvm-cov.cpp | 72 +-
tools/llvm-dis/llvm-dis.cpp | 4 +-
tools/llvm-dwarfdump/Android.mk | 2 +
tools/llvm-dwarfdump/llvm-dwarfdump.cpp | 13 +-
tools/llvm-lto/Android.mk | 4 +-
tools/llvm-lto/llvm-lto.cpp | 2 +-
tools/llvm-mc/llvm-mc.cpp | 60 +-
tools/llvm-mcmarkup/llvm-mcmarkup.cpp | 11 +-
tools/llvm-nm/Android.mk | 28 +
tools/llvm-nm/CMakeLists.txt | 1 +
tools/llvm-nm/Makefile | 2 +-
tools/llvm-nm/llvm-nm.cpp | 552 ++-
tools/llvm-objdump/Android.mk | 4 +-
tools/llvm-objdump/CMakeLists.txt | 1 +
tools/llvm-objdump/COFFDump.cpp | 43 +-
tools/llvm-objdump/LLVMBuild.txt | 2 +-
tools/llvm-objdump/MachODump.cpp | 21 +-
tools/llvm-objdump/Makefile | 2 +-
tools/llvm-objdump/llvm-objdump.cpp | 24 +-
tools/llvm-objdump/llvm-objdump.h | 4 +-
tools/llvm-profdata/llvm-profdata.cpp | 7 +-
tools/llvm-readobj/ARMWinEHPrinter.cpp | 744 ++++
tools/llvm-readobj/ARMWinEHPrinter.h | 119 +
tools/llvm-readobj/Android.mk | 3 +
tools/llvm-readobj/CMakeLists.txt | 1 +
tools/llvm-readobj/COFFDumper.cpp | 65 +-
tools/llvm-readobj/ELFDumper.cpp | 336 +-
tools/llvm-readobj/Error.cpp | 22 +-
tools/llvm-readobj/Error.h | 39 +-
tools/llvm-readobj/MachODumper.cpp | 32 +-
tools/llvm-readobj/ObjDumper.h | 23 +-
tools/llvm-readobj/StreamWriter.h | 4 +
tools/llvm-readobj/Win64EHDumper.cpp | 17 +-
tools/llvm-readobj/Win64EHDumper.h | 5 +-
tools/llvm-readobj/llvm-readobj.cpp | 41 +-
tools/llvm-readobj/llvm-readobj.h | 5 +-
tools/llvm-rtdyld/Android.mk | 29 +-
tools/llvm-rtdyld/CMakeLists.txt | 2 +
tools/llvm-rtdyld/llvm-rtdyld.cpp | 150 +-
tools/llvm-size/Android.mk | 10 +-
tools/llvm-size/llvm-size.cpp | 599 +++-
tools/llvm-symbolizer/LLVMSymbolize.cpp | 21 +-
tools/lto/CMakeLists.txt | 6 +-
tools/lto/lto.cpp | 40 +-
tools/macho-dump/Android.mk | 2 +
tools/macho-dump/macho-dump.cpp | 17 +-
tools/obj2yaml/Android.mk | 2 +
tools/obj2yaml/Error.cpp | 21 +-
tools/obj2yaml/Error.h | 33 +-
tools/obj2yaml/coff2yaml.cpp | 6 +-
tools/obj2yaml/elf2yaml.cpp | 88 +-
tools/obj2yaml/obj2yaml.cpp | 8 +-
tools/obj2yaml/obj2yaml.h | 10 +-
tools/opt/Android.mk | 1 +
tools/opt/opt.cpp | 1 +
tools/yaml2obj/Android.mk | 2 +
tools/yaml2obj/yaml2coff.cpp | 3 +-
tools/yaml2obj/yaml2elf.cpp | 6 +-
tools/yaml2obj/yaml2obj.cpp | 42 +-
tools/yaml2obj/yaml2obj.h | 10 +-
unittests/ADT/APFloatTest.cpp | 54 +-
unittests/ADT/ArrayRefTest.cpp | 7 +
unittests/ADT/CMakeLists.txt | 1 -
unittests/ADT/DenseMapTest.cpp | 6 +-
unittests/ADT/DenseSetTest.cpp | 2 +-
unittests/ADT/HashingTest.cpp | 2 +-
unittests/ADT/ImmutableMapTest.cpp | 4 +-
unittests/ADT/OwningPtrTest.cpp | 273 --
unittests/ADT/PointerUnionTest.cpp | 2 +-
unittests/ADT/SCCIteratorTest.cpp | 2 +-
unittests/ADT/SmallVectorTest.cpp | 210 +-
unittests/ADT/StringMapTest.cpp | 48 +-
unittests/ADT/ilistTest.cpp | 4 +-
unittests/Analysis/CFGTest.cpp | 17 +-
unittests/Analysis/MixedTBAATest.cpp | 2 +-
unittests/Analysis/ScalarEvolutionTest.cpp | 4 +-
unittests/CMakeLists.txt | 1 -
unittests/ExecutionEngine/CMakeLists.txt | 7 +-
unittests/ExecutionEngine/ExecutionEngineTest.cpp | 22 +-
.../ExecutionEngine/JIT/JITMemoryManagerTest.cpp | 12 +-
unittests/ExecutionEngine/JIT/JITTest.cpp | 16 +-
unittests/ExecutionEngine/JIT/MultiJITTest.cpp | 26 +-
unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp | 22 +-
.../MCJIT/MCJITMemoryManagerTest.cpp | 24 +-
.../ExecutionEngine/MCJIT/MCJITObjectCacheTest.cpp | 18 +-
unittests/ExecutionEngine/MCJIT/MCJITTest.cpp | 2 +-
unittests/IR/ConstantRangeTest.cpp | 8 +-
unittests/IR/ConstantsTest.cpp | 10 -
unittests/IR/DominatorTreeTest.cpp | 2 +-
unittests/IR/IRBuilderTest.cpp | 10 +-
unittests/IR/InstructionsTest.cpp | 16 +-
unittests/IR/LegacyPassManagerTest.cpp | 14 +-
unittests/IR/MDBuilderTest.cpp | 14 +-
unittests/IR/MetadataTest.cpp | 2 +-
unittests/IR/PassManagerTest.cpp | 2 +-
unittests/IR/PatternMatch.cpp | 12 +-
unittests/IR/TypeBuilderTest.cpp | 6 +-
unittests/IR/UserTest.cpp | 2 +-
unittests/IR/ValueHandleTest.cpp | 32 +-
unittests/IR/ValueMapTest.cpp | 38 +-
unittests/IR/ValueTest.cpp | 6 +-
unittests/IR/VerifierTest.cpp | 17 -
unittests/IR/WaymarkTest.cpp | 2 +-
unittests/Linker/LinkModulesTest.cpp | 10 +-
unittests/MC/CMakeLists.txt | 10 +-
unittests/MC/MCAtomTest.cpp | 4 +-
unittests/MC/Makefile | 2 +-
unittests/MC/StringTableBuilderTest.cpp | 40 +
unittests/MC/YAMLTest.cpp | 38 +
unittests/Makefile | 2 +-
unittests/Object/CMakeLists.txt | 9 -
unittests/Object/Makefile | 15 -
unittests/Object/StringTableBuilderTest.cpp | 40 -
unittests/Object/YAMLTest.cpp | 38 -
unittests/Support/CMakeLists.txt | 3 +
unittests/Support/Casting.cpp | 8 +-
unittests/Support/CommandLineTest.cpp | 2 +-
unittests/Support/ConvertUTFTest.cpp | 1599 +++++++++
unittests/Support/DataExtractorTest.cpp | 2 +-
unittests/Support/ErrorOrTest.cpp | 11 +-
unittests/Support/FileOutputBufferTest.cpp | 25 +-
unittests/Support/LockFileManagerTest.cpp | 6 +-
unittests/Support/ManagedStatic.cpp | 12 +-
unittests/Support/MemoryBufferTest.cpp | 40 +-
unittests/Support/MemoryTest.cpp | 174 +-
unittests/Support/Path.cpp | 47 +-
unittests/Support/ProgramTest.cpp | 60 +-
unittests/Support/ScaledNumberTest.cpp | 536 +++
unittests/Support/SpecialCaseListTest.cpp | 126 +
unittests/Support/StringPool.cpp | 31 +
unittests/Support/SwapByteOrderTest.cpp | 108 +-
unittests/Support/ThreadLocalTest.cpp | 4 +-
unittests/Support/TimeValueTest.cpp | 2 +-
unittests/Support/YAMLIOTest.cpp | 96 +-
unittests/Support/raw_ostream_test.cpp | 4 +-
unittests/Transforms/DebugIR/DebugIR.cpp | 5 +-
unittests/Transforms/Utils/CMakeLists.txt | 1 -
unittests/Transforms/Utils/Cloning.cpp | 4 +-
unittests/Transforms/Utils/SpecialCaseList.cpp | 232 --
utils/FileCheck/FileCheck.cpp | 29 +-
utils/FileUpdate/Android.mk | 33 -
utils/FileUpdate/CMakeLists.txt | 5 -
utils/FileUpdate/FileUpdate.cpp | 87 -
utils/FileUpdate/Makefile | 21 -
utils/KillTheDoctor/KillTheDoctor.cpp | 29 +-
utils/Makefile | 4 +-
utils/PerfectShuffle/PerfectShuffle.cpp | 4 +-
utils/TableGen/Android.mk | 1 -
utils/TableGen/AsmMatcherEmitter.cpp | 47 +-
utils/TableGen/AsmWriterEmitter.cpp | 66 +-
utils/TableGen/CMakeLists.txt | 1 -
utils/TableGen/CTagsEmitter.cpp | 4 +-
utils/TableGen/CodeGenDAGPatterns.cpp | 8 +-
utils/TableGen/CodeGenIntrinsics.h | 1 +
utils/TableGen/CodeGenRegisters.h | 2 +-
utils/TableGen/CodeGenSchedule.h | 2 +-
utils/TableGen/CodeGenTarget.cpp | 2 +
utils/TableGen/IntrinsicEmitter.cpp | 56 +-
utils/TableGen/SetTheory.cpp | 323 --
utils/TableGen/SetTheory.h | 142 -
utils/TableGen/TableGen.cpp | 2 +-
utils/emacs/tablegen-mode.el | 1 +
utils/lit/lit/discovery.py | 6 +-
utils/lit/lit/util.py | 17 +
utils/llvm-compilers-check | 20 +-
utils/llvm-lit/llvm-lit.in | 2 +-
utils/llvm.natvis | 12 +-
utils/not/not.cpp | 11 +-
utils/yaml-bench/YAMLBench.cpp | 8 +-
2186 files changed, 90930 insertions(+), 33659 deletions(-)
delete mode 100644 autoconf/m4/path_tclsh.m4
delete mode 100644 include/llvm/ADT/OwningPtr.h
create mode 100644 include/llvm/Analysis/JumpInstrTableInfo.h
create mode 100644 include/llvm/CodeGen/JumpInstrTables.h
create mode 100644 include/llvm/ExecutionEngine/RuntimeDyldChecker.h
create mode 100644 include/llvm/IR/Comdat.h
create mode 100644 include/llvm/MC/ConstantPools.h
create mode 100644 include/llvm/MC/MCAnalysis/MCAtom.h
create mode 100644 include/llvm/MC/MCAnalysis/MCFunction.h
create mode 100644 include/llvm/MC/MCAnalysis/MCModule.h
create mode 100644 include/llvm/MC/MCAnalysis/MCModuleYAML.h
delete mode 100644 include/llvm/MC/MCAtom.h
delete mode 100644 include/llvm/MC/MCFunction.h
delete mode 100644 include/llvm/MC/MCModule.h
delete mode 100644 include/llvm/MC/MCModuleYAML.h
create mode 100644 include/llvm/MC/StringTableBuilder.h
create mode 100644 include/llvm/MC/YAML.h
delete mode 100644 include/llvm/Object/StringTableBuilder.h
delete mode 100644 include/llvm/Object/YAML.h
create mode 100644 include/llvm/PassInfo.h
create mode 100644 include/llvm/Support/ARMWinEH.h
create mode 100644 include/llvm/Support/Errc.h
delete mode 100644 include/llvm/Support/FEnv.h
create mode 100644 include/llvm/Support/RandomNumberGenerator.h
create mode 100644 include/llvm/Support/ScaledNumber.h
create mode 100644 include/llvm/Support/SpecialCaseList.h
create mode 100644 include/llvm/Support/WindowsError.h
delete mode 100644 include/llvm/Support/system_error.h
create mode 100644 include/llvm/TableGen/SetTheory.h
delete mode 100644 include/llvm/Transforms/Utils/SpecialCaseList.h
create mode 100644 lib/Analysis/JumpInstrTableInfo.cpp
delete mode 100644 lib/CodeGen/AsmPrinter/DwarfException.cpp
create mode 100644 lib/CodeGen/AsmPrinter/EHStreamer.cpp
create mode 100644 lib/CodeGen/AsmPrinter/EHStreamer.h
create mode 100644 lib/CodeGen/GlobalMerge.cpp
create mode 100644 lib/CodeGen/JumpInstrTables.cpp
create mode 100644 lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp
create mode 100644 lib/IR/Comdat.cpp
create mode 100644 lib/MC/ConstantPools.cpp
create mode 100644 lib/MC/MCAnalysis/Android.mk
create mode 100644 lib/MC/MCAnalysis/CMakeLists.txt
create mode 100644 lib/MC/MCAnalysis/LLVMBuild.txt
create mode 100644 lib/MC/MCAnalysis/MCAtom.cpp
create mode 100644 lib/MC/MCAnalysis/MCFunction.cpp
create mode 100644 lib/MC/MCAnalysis/MCModule.cpp
create mode 100644 lib/MC/MCAnalysis/MCModuleYAML.cpp
create mode 100644 lib/MC/MCAnalysis/MCObjectDisassembler.cpp
create mode 100644 lib/MC/MCAnalysis/MCObjectSymbolizer.cpp
create mode 100644 lib/MC/MCAnalysis/Makefile
delete mode 100644 lib/MC/MCAtom.cpp
delete mode 100644 lib/MC/MCFunction.cpp
delete mode 100644 lib/MC/MCModule.cpp
delete mode 100644 lib/MC/MCModuleYAML.cpp
delete mode 100644 lib/MC/MCObjectDisassembler.cpp
delete mode 100644 lib/MC/MCObjectSymbolizer.cpp
create mode 100644 lib/MC/StringTableBuilder.cpp
create mode 100644 lib/MC/YAML.cpp
create mode 100644 lib/Object/RecordStreamer.cpp
create mode 100644 lib/Object/RecordStreamer.h
delete mode 100644 lib/Object/StringTableBuilder.cpp
delete mode 100644 lib/Object/YAML.cpp
create mode 100644 lib/Support/ARMWinEH.cpp
create mode 100644 lib/Support/RandomNumberGenerator.cpp
create mode 100644 lib/Support/ScaledNumber.cpp
create mode 100644 lib/Support/SpecialCaseList.cpp
delete mode 100644 lib/Support/Unix/system_error.inc
delete mode 100644 lib/Support/Windows/system_error.inc
delete mode 100644 lib/Support/system_error.cpp
create mode 100644 lib/TableGen/SetTheory.cpp
create mode 100644 lib/Target/AArch64/AArch64SchedA57.td
create mode 100644 lib/Target/AArch64/AArch64SchedA57WriteRes.td
create mode 100644 lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
create mode 100644 lib/Target/Mips/MCTargetDesc/MipsABIFlagsSection.cpp
create mode 100644 lib/Target/Mips/MCTargetDesc/MipsABIFlagsSection.h
delete mode 100644 lib/Target/R600/AMDGPUConvertToISA.cpp
create mode 100644 lib/Target/R600/AMDGPUIntrinsicInfo.cpp
create mode 100644 lib/Target/R600/AMDGPUIntrinsicInfo.h
create mode 100644 lib/Target/R600/AMDGPUPromoteAlloca.cpp
delete mode 100644 lib/Target/R600/AMDILBase.td
delete mode 100644 lib/Target/R600/AMDILISelLowering.cpp
delete mode 100644 lib/Target/R600/AMDILInstrInfo.td
delete mode 100644 lib/Target/R600/AMDILIntrinsicInfo.cpp
delete mode 100644 lib/Target/R600/AMDILIntrinsicInfo.h
delete mode 100644 lib/Target/R600/AMDILIntrinsics.td
delete mode 100644 lib/Target/R600/AMDILRegisterInfo.td
create mode 100644 lib/Target/R600/SIFixSGPRLiveRanges.cpp
create mode 100644 lib/Target/X86/X86AtomicExpandPass.cpp
delete mode 100644 lib/Transforms/Scalar/GlobalMerge.cpp
create mode 100644 lib/Transforms/Scalar/LoadCombine.cpp
delete mode 100644 lib/Transforms/Utils/SpecialCaseList.cpp
create mode 100644 test/Analysis/BasicAA/cs-cs.ll
create mode 100644 test/Analysis/CostModel/X86/alternate-shuffle-cost.ll
delete mode 100644 test/Assembler/alias-addrspace.ll
delete mode 100644 test/Assembler/alias-to-alias.ll
delete mode 100644 test/Assembler/alias-to-alias2.ll
delete mode 100644 test/Assembler/alias-type.ll
create mode 100644 test/Assembler/invalid-comdat.ll
create mode 100644 test/Assembler/invalid-comdat2.ll
create mode 100644 test/Assembler/upgrade-loop-metadata.ll
create mode 100644 test/Bitcode/atomic.ll
create mode 100644 test/Bitcode/upgrade-loop-metadata.ll
create mode 100644 test/Bitcode/upgrade-loop-metadata.ll.bc
create mode 100644 test/Bitcode/weak-cmpxchg-upgrade.ll
create mode 100644 test/Bitcode/weak-cmpxchg-upgrade.ll.bc
create mode 100644 test/CodeGen/AArch64/aarch64-address-type-promotion-assertion.ll
create mode 100644 test/CodeGen/AArch64/aarch64-address-type-promotion.ll
delete mode 100644 test/CodeGen/AArch64/arm64-2014-04-16-AnInfiniteLoopInDAGCombine.ll
delete mode 100644 test/CodeGen/AArch64/arm64-2014-04-28-sqshl-uqshl-i64Contant.ll
delete mode 100644 test/CodeGen/AArch64/arm64-2014-04-29-EXT-undef-mask.ll
create mode 100644 test/CodeGen/AArch64/arm64-AnInfiniteLoopInDAGCombine.ll
create mode 100644 test/CodeGen/AArch64/arm64-EXT-undef-mask.ll
delete mode 100644 test/CodeGen/AArch64/arm64-convert-v2f64-v2i32.ll
delete mode 100644 test/CodeGen/AArch64/arm64-convert-v2i32-v2f64.ll
create mode 100644 test/CodeGen/AArch64/arm64-convert-v4f64.ll
create mode 100644 test/CodeGen/AArch64/arm64-misched-basic-A57.ll
create mode 100644 test/CodeGen/AArch64/arm64-shrink-v1i64.ll
create mode 100644 test/CodeGen/AArch64/arm64-sqshl-uqshl-i64Contant.ll
create mode 100644 test/CodeGen/AArch64/branch-relax-asm.ll
create mode 100644 test/CodeGen/AArch64/cmpxchg-idioms.ll
create mode 100644 test/CodeGen/AArch64/compiler-ident.ll
create mode 100644 test/CodeGen/AArch64/complex-fp-to-int.ll
create mode 100644 test/CodeGen/AArch64/complex-int-to-fp.ll
create mode 100644 test/CodeGen/AArch64/f16-convert.ll
create mode 100644 test/CodeGen/AArch64/fast-isel-mul.ll
create mode 100644 test/CodeGen/AArch64/funcptr_cast.ll
create mode 100644 test/CodeGen/AArch64/global-merge-1.ll
create mode 100644 test/CodeGen/AArch64/global-merge-2.ll
create mode 100644 test/CodeGen/AArch64/global-merge-3.ll
create mode 100644 test/CodeGen/AArch64/global-merge-4.ll
create mode 100644 test/CodeGen/AArch64/global-merge.ll
create mode 100644 test/CodeGen/AArch64/i128-fast-isel-fallback.ll
create mode 100644 test/CodeGen/AArch64/inlineasm-ldr-pseudo.ll
create mode 100644 test/CodeGen/AArch64/memcpy-f128.ll
create mode 100644 test/CodeGen/AArch64/mul_pow2.ll
create mode 100644 test/CodeGen/AArch64/trunc-v1i64.ll
create mode 100644 test/CodeGen/ARM/Windows/dllimport.ll
create mode 100644 test/CodeGen/ARM/Windows/global-minsize.ll
create mode 100644 test/CodeGen/ARM/Windows/long-calls.ll
create mode 100644 test/CodeGen/ARM/Windows/structors.ll
create mode 100644 test/CodeGen/ARM/Windows/vla.ll
create mode 100644 test/CodeGen/ARM/big-endian-neon-extend.ll
create mode 100644 test/CodeGen/ARM/big-endian-neon-trunc-store.ll
create mode 100644 test/CodeGen/ARM/big-endian-ret-f64.ll
create mode 100644 test/CodeGen/ARM/cmpxchg-idioms.ll
create mode 100644 test/CodeGen/ARM/cmpxchg-weak.ll
create mode 100644 test/CodeGen/ARM/global-merge-1.ll
create mode 100644 test/CodeGen/ARM/intrinsics-memory-barrier.ll
create mode 100644 test/CodeGen/ARM/jump_tables.ll
create mode 100644 test/CodeGen/ARM/ldstrex-m.ll
create mode 100644 test/CodeGen/ARM/metadata-default.ll
create mode 100644 test/CodeGen/ARM/metadata-short-enums.ll
create mode 100644 test/CodeGen/ARM/metadata-short-wchar.ll
create mode 100644 test/CodeGen/ARM/null-streamer.ll
create mode 100644 test/CodeGen/CPP/atomic.ll
create mode 100644 test/CodeGen/Mips/Fast-ISel/loadstore2.ll
create mode 100644 test/CodeGen/Mips/Fast-ISel/simplestorefp1.ll
create mode 100644 test/CodeGen/Mips/abiflags-xx.ll
create mode 100644 test/CodeGen/Mips/abiflags32.ll
create mode 100644 test/CodeGen/Mips/cconv/callee-saved-fpxx.ll
create mode 100644 test/CodeGen/Mips/cconv/callee-saved-fpxx1.ll
create mode 100644 test/CodeGen/Mips/countleading.ll
create mode 100644 test/CodeGen/Mips/ehframe-indirect.ll
create mode 100644 test/CodeGen/Mips/fcmp.ll
create mode 100644 test/CodeGen/Mips/llvm-ir/call.ll
create mode 100644 test/CodeGen/Mips/llvm-ir/indirectbr.ll
create mode 100644 test/CodeGen/Mips/llvm-ir/ret.ll
delete mode 100644 test/CodeGen/Mips/mips64-fp-indexed-ls.ll
delete mode 100644 test/CodeGen/Mips/mips64countleading.ll
create mode 100644 test/CodeGen/Mips/no-odd-spreg.ll
create mode 100644 test/CodeGen/Mips/null-streamer.ll
create mode 100644 test/CodeGen/Mips/prevent-hoisting.ll
create mode 100644 test/CodeGen/NVPTX/arg-lowering.ll
create mode 100644 test/CodeGen/NVPTX/atomics.ll
create mode 100644 test/CodeGen/NVPTX/bfe.ll
create mode 100644 test/CodeGen/NVPTX/envreg.ll
create mode 100644 test/CodeGen/NVPTX/gvar-init.ll
create mode 100644 test/CodeGen/NVPTX/imad.ll
create mode 100644 test/CodeGen/NVPTX/isspacep.ll
create mode 100644 test/CodeGen/NVPTX/ldu-ldg.ll
create mode 100644 test/CodeGen/NVPTX/managed.ll
create mode 100644 test/CodeGen/NVPTX/mulwide.ll
create mode 100644 test/CodeGen/NVPTX/rotate.ll
create mode 100644 test/CodeGen/NVPTX/shift-parts.ll
create mode 100644 test/CodeGen/NVPTX/weak-global.ll
create mode 100644 test/CodeGen/NVPTX/weak-linkage.ll
create mode 100644 test/CodeGen/PowerPC/func-addr.ll
create mode 100644 test/CodeGen/PowerPC/ppc64-altivec-abi.ll
create mode 100644 test/CodeGen/PowerPC/ppc64-byval-align.ll
create mode 100644 test/CodeGen/PowerPC/ppc64-smallarg.ll
create mode 100644 test/CodeGen/PowerPC/ppc64le-smallarg.ll
create mode 100644 test/CodeGen/PowerPC/ppcf128-endian.ll
create mode 100644 test/CodeGen/PowerPC/resolvefi-basereg.ll
create mode 100644 test/CodeGen/PowerPC/vec_shuffle_le.ll
create mode 100644 test/CodeGen/PowerPC/vperm-instcombine.ll
create mode 100644 test/CodeGen/PowerPC/vperm-lowering.ll
create mode 100644 test/CodeGen/R600/atomic_cmp_swap_local.ll
create mode 100644 test/CodeGen/R600/bswap.ll
create mode 100644 test/CodeGen/R600/ctlz_zero_undef.ll
create mode 100644 test/CodeGen/R600/ctpop.ll
create mode 100644 test/CodeGen/R600/ctpop64.ll
create mode 100644 test/CodeGen/R600/cttz_zero_undef.ll
create mode 100644 test/CodeGen/R600/cvt_f32_ubyte.ll
create mode 100644 test/CodeGen/R600/default-fp-mode.ll
create mode 100644 test/CodeGen/R600/fceil64.ll
create mode 100644 test/CodeGen/R600/fcopysign.f32.ll
create mode 100644 test/CodeGen/R600/fcopysign.f64.ll
create mode 100644 test/CodeGen/R600/fnearbyint.ll
create mode 100644 test/CodeGen/R600/fp16_to_fp32.ll
create mode 100644 test/CodeGen/R600/fp32_to_fp16.ll
create mode 100644 test/CodeGen/R600/fp_to_sint_i64.ll
create mode 100644 test/CodeGen/R600/input-mods.ll
create mode 100644 test/CodeGen/R600/large-alloca.ll
create mode 100644 test/CodeGen/R600/large-constant-initializer.ll
create mode 100644 test/CodeGen/R600/llvm.AMDGPU.abs.ll
create mode 100644 test/CodeGen/R600/llvm.AMDGPU.brev.ll
create mode 100644 test/CodeGen/R600/llvm.AMDGPU.clamp.ll
create mode 100644 test/CodeGen/R600/llvm.AMDGPU.cvt_f32_ubyte.ll
create mode 100644 test/CodeGen/R600/llvm.AMDGPU.div_fixup.ll
create mode 100644 test/CodeGen/R600/llvm.AMDGPU.div_fmas.ll
create mode 100644 test/CodeGen/R600/llvm.AMDGPU.div_scale.ll
create mode 100644 test/CodeGen/R600/llvm.AMDGPU.fract.ll
create mode 100644 test/CodeGen/R600/llvm.AMDGPU.legacy.rsq.ll
create mode 100644 test/CodeGen/R600/llvm.AMDGPU.rcp.ll
create mode 100644 test/CodeGen/R600/llvm.AMDGPU.rsq.clamped.f64.ll
create mode 100644 test/CodeGen/R600/llvm.AMDGPU.rsq.clamped.ll
create mode 100644 test/CodeGen/R600/llvm.AMDGPU.rsq.ll
create mode 100644 test/CodeGen/R600/llvm.AMDGPU.trig_preop.ll
create mode 100644 test/CodeGen/R600/llvm.SI.gather4.ll
create mode 100644 test/CodeGen/R600/llvm.SI.getlod.ll
create mode 100644 test/CodeGen/R600/llvm.log2.ll
create mode 100644 test/CodeGen/R600/local-atomics.ll
create mode 100644 test/CodeGen/R600/local-atomics64.ll
create mode 100644 test/CodeGen/R600/no-initializer-constant-addrspace.ll
create mode 100644 test/CodeGen/R600/private-memory-atomics.ll
create mode 100644 test/CodeGen/R600/private-memory-broken.ll
create mode 100644 test/CodeGen/R600/reorder-stores.ll
create mode 100644 test/CodeGen/R600/rotl.i64.ll
create mode 100644 test/CodeGen/R600/rotl.ll
create mode 100644 test/CodeGen/R600/rotr.i64.ll
create mode 100644 test/CodeGen/R600/rsq.ll
create mode 100644 test/CodeGen/R600/saddo.ll
create mode 100644 test/CodeGen/R600/scalar_to_vector.ll
create mode 100644 test/CodeGen/R600/srem.ll
create mode 100644 test/CodeGen/R600/ssubo.ll
create mode 100644 test/CodeGen/R600/udivrem.ll
create mode 100644 test/CodeGen/R600/usubo.ll
create mode 100644 test/CodeGen/R600/vector-alloca.ll
create mode 100644 test/CodeGen/Thumb/2014-06-10-thumb1-ldst-opt-bug.ll
create mode 100644 test/CodeGen/Thumb/fastcc.ll
create mode 100644 test/CodeGen/Thumb2/tpsoft.ll
delete mode 100644 test/CodeGen/X86/2007-09-18-ShuffleXformBug.ll
create mode 100644 test/CodeGen/X86/2014-05-29-factorial.ll
create mode 100644 test/CodeGen/X86/2014-05-30-CombineAddNSW.ll
create mode 100644 test/CodeGen/X86/atom-fixup-lea4.ll
create mode 100644 test/CodeGen/X86/atomic-ops-ancient-64.ll
create mode 100644 test/CodeGen/X86/atomic128.ll
create mode 100644 test/CodeGen/X86/avx512-inc-dec.ll
create mode 100644 test/CodeGen/X86/avx512-nontemporal.ll
create mode 100644 test/CodeGen/X86/cmpxchg-i1.ll
create mode 100644 test/CodeGen/X86/cmpxchg-i128-i1.ll
create mode 100644 test/CodeGen/X86/coff-comdat.ll
create mode 100644 test/CodeGen/X86/coff-comdat2.ll
create mode 100644 test/CodeGen/X86/coff-comdat3.ll
create mode 100644 test/CodeGen/X86/combine-64bit-vec-binop.ll
create mode 100644 test/CodeGen/X86/combine-vec-shuffle-2.ll
create mode 100644 test/CodeGen/X86/computeKnownBits_urem.ll
create mode 100644 test/CodeGen/X86/cvt16.ll
create mode 100644 test/CodeGen/X86/dagcombine-and-setcc.ll
create mode 100644 test/CodeGen/X86/elf-comdat.ll
create mode 100644 test/CodeGen/X86/elf-comdat2.ll
create mode 100644 test/CodeGen/X86/fast-isel-args-fail2.ll
create mode 100644 test/CodeGen/X86/fast-isel-branch_weights.ll
create mode 100644 test/CodeGen/X86/fast-isel-cmp-branch2.ll
create mode 100644 test/CodeGen/X86/fast-isel-cmp-branch3.ll
create mode 100644 test/CodeGen/X86/fast-isel-cmp.ll
create mode 100644 test/CodeGen/X86/fast-isel-fold-mem.ll
create mode 100644 test/CodeGen/X86/fast-isel-select-cmov.ll
create mode 100644 test/CodeGen/X86/fast-isel-select-cmov2.ll
create mode 100644 test/CodeGen/X86/fast-isel-select-cmp.ll
create mode 100644 test/CodeGen/X86/fast-isel-select-pseudo-cmov.ll
create mode 100644 test/CodeGen/X86/fast-isel-select-sse.ll
create mode 100644 test/CodeGen/X86/fast-isel-sse12-fptoint.ll
create mode 100644 test/CodeGen/X86/frameaddr.ll
create mode 100644 test/CodeGen/X86/haddsub-2.ll
create mode 100644 test/CodeGen/X86/haddsub-undef.ll
create mode 100644 test/CodeGen/X86/i8-umulo.ll
create mode 100644 test/CodeGen/X86/jump_table_alias.ll
create mode 100644 test/CodeGen/X86/jump_table_bitcast.ll
create mode 100644 test/CodeGen/X86/jump_tables.ll
create mode 100644 test/CodeGen/X86/libcall-sret.ll
create mode 100644 test/CodeGen/X86/macho-comdat.ll
create mode 100644 test/CodeGen/X86/pr20020.ll
create mode 100644 test/CodeGen/X86/pr20088.ll
create mode 100644 test/CodeGen/X86/pshufd-combine-crash.ll
create mode 100644 test/CodeGen/X86/rdpmc.ll
create mode 100644 test/CodeGen/X86/sqrt.ll
create mode 100644 test/CodeGen/X86/sse3-avx-addsub-2.ll
create mode 100644 test/CodeGen/X86/sse3-avx-addsub.ll
create mode 100644 test/CodeGen/X86/stackmap-fast-isel.ll
create mode 100644 test/CodeGen/X86/swizzle-2.ll
create mode 100644 test/CodeGen/X86/swizzle-avx2.ll
create mode 100644 test/CodeGen/X86/testb-je-fusion.ll
create mode 100644 test/CodeGen/X86/vector-shuffle-128-v16.ll
create mode 100644 test/CodeGen/X86/vector-shuffle-128-v2.ll
create mode 100644 test/CodeGen/X86/vector-shuffle-128-v4.ll
create mode 100644 test/CodeGen/X86/vector-shuffle-128-v8.ll
create mode 100644 test/CodeGen/X86/vector-shuffle-combining.ll
create mode 100644 test/CodeGen/X86/widen_conversions.ll
create mode 100644 test/CodeGen/X86/win64_eh.ll
delete mode 100644 test/CodeGen/X86/x86-64-frameaddr.ll
create mode 100644 test/CodeGen/X86/x86-64-static-relo-movl.ll
delete mode 100644 test/CodeGen/X86/x86-frameaddr.ll
delete mode 100644 test/CodeGen/X86/x86-frameaddr2.ll
create mode 100644 test/CodeGen/X86/x86-upgrade-avx-vbroadcast.ll
create mode 100644 test/CodeGen/X86/xaluo.ll
create mode 100644 test/CodeGen/XCore/dwarf_debug.ll
delete mode 100644 test/DebugInfo/2010-01-19-DbgScope.ll
create mode 100644 test/DebugInfo/Inputs/arange-overlap.cc
create mode 100755 test/DebugInfo/Inputs/arange-overlap.elf-x86_64
create mode 100644 test/DebugInfo/Inputs/fission-ranges.cc
create mode 100755 test/DebugInfo/Inputs/fission-ranges.elf-x86_64
create mode 100644 test/DebugInfo/PR20038.ll
create mode 100644 test/DebugInfo/X86/debug-loc-asan.ll
create mode 100644 test/DebugInfo/X86/pr19307.ll
create mode 100644 test/DebugInfo/cross-cu-linkonce-distinct.ll
create mode 100644 test/DebugInfo/dead-argument-order.ll
create mode 100644 test/DebugInfo/incorrect-variable-debugloc.ll
create mode 100644 test/DebugInfo/inline-no-debug-info.ll
create mode 100644 test/DebugInfo/missing-abstract-variable.ll
create mode 100644 test/DebugInfo/nodebug.ll
create mode 100644 test/ExecutionEngine/RuntimeDyld/X86/MachO_x86-64_PIC_relocations.s
create mode 100644 test/ExecutionEngine/RuntimeDyld/X86/lit.local.cfg
create mode 100644 test/Feature/comdat.ll
create mode 100644 test/Instrumentation/AddressSanitizer/global_metadata.ll
create mode 100644 test/Instrumentation/MemorySanitizer/missing_origin.ll
create mode 100644 test/Instrumentation/MemorySanitizer/mul_by_constant.ll
create mode 100644 test/Instrumentation/MemorySanitizer/vector_arith.ll
create mode 100644 test/Instrumentation/MemorySanitizer/vector_pack.ll
create mode 100644 test/LTO/jump-table-type.ll
create mode 100644 test/Linker/Inputs/comdat.ll
create mode 100644 test/Linker/Inputs/comdat2.ll
create mode 100644 test/Linker/Inputs/comdat3.ll
create mode 100644 test/Linker/Inputs/comdat4.ll
create mode 100644 test/Linker/Inputs/comdat5.ll
delete mode 100644 test/Linker/Inputs/cycle.ll
create mode 100644 test/Linker/comdat.ll
create mode 100644 test/Linker/comdat2.ll
create mode 100644 test/Linker/comdat3.ll
create mode 100644 test/Linker/comdat4.ll
create mode 100644 test/Linker/comdat5.ll
create mode 100644 test/Linker/comdat6.ll
create mode 100644 test/Linker/comdat7.ll
create mode 100644 test/Linker/comdat8.ll
delete mode 100644 test/Linker/cycle.ll
create mode 100644 test/MC/AArch64/alias-logicalimm.s
create mode 100644 test/MC/AArch64/dot-req-case-insensitive.s
create mode 100644 test/MC/AArch64/dot-req-diagnostics.s
create mode 100644 test/MC/AArch64/dot-req.s
create mode 100644 test/MC/AArch64/ldr-pseudo-obj-errors.s
create mode 100644 test/MC/AArch64/ldr-pseudo.s
create mode 100644 test/MC/ARM/Windows/multiple-text-sections.s
create mode 100644 test/MC/ARM/Windows/text-attributes.s
create mode 100644 test/MC/ARM/dwarf-asm-multiple-sections.s
create mode 100644 test/MC/ARM/dwarf-asm-no-code.s
create mode 100644 test/MC/ARM/dwarf-asm-nonstandard-section.s
create mode 100644 test/MC/ARM/dwarf-asm-single-section.s
create mode 100644 test/MC/ARM/gas-compl-copr-reg.s
create mode 100644 test/MC/ARM/macho-relocs-with-addend.s
delete mode 100644 test/MC/AsmParser/cfi-invalid-startproc.s
create mode 100644 test/MC/AsmParser/if-diagnostics.s
create mode 100644 test/MC/COFF/early-dce.s
create mode 100644 test/MC/COFF/section-comdat-conflict.s
create mode 100644 test/MC/COFF/section-comdat-conflict2.s
create mode 100644 test/MC/COFF/seh-stackalloc-zero.s
create mode 100644 test/MC/ELF/ARM/bss-non-zero-value.s
create mode 100644 test/MC/ELF/ARM/gnu-type-hash-diagnostics.s
create mode 100644 test/MC/ELF/ARM/gnu-type-hash.s
create mode 100644 test/MC/ELF/ARM/lit.local.cfg
create mode 100644 test/MC/ELF/cfi-version.ll
create mode 100644 test/MC/ELF/gnu-type-diagnostics.s
create mode 100644 test/MC/ELF/gnu-type.s
create mode 100644 test/MC/ELF/no-reloc.s
create mode 100644 test/MC/ELF/pr19430.s
create mode 100644 test/MC/MachO/ARM/aliased-symbols.s
delete mode 100644 test/MC/MachO/eh-symbols.s
create mode 100644 test/MC/MachO/pr19185.s
create mode 100644 test/MC/Mips/cpsetup-bad.s
create mode 100644 test/MC/Mips/mips-abi-bad.s
create mode 100644 test/MC/Mips/mips-expansions-bad.s
create mode 100644 test/MC/Mips/mips1/invalid-mips32.s
create mode 100644 test/MC/Mips/mips3/invalid-mips32.s
create mode 100644 test/MC/Mips/mips32/abiflags.s
create mode 100644 test/MC/Mips/mips32r2/abiflags.s
create mode 100644 test/MC/Mips/mips32r2/invalid.s
create mode 100644 test/MC/Mips/mips32r6/invalid-mips32.s
create mode 100644 test/MC/Mips/mips32r6/invalid-mips32r2.s
create mode 100644 test/MC/Mips/mips32r6/invalid-mips4-wrong-error.s
create mode 100644 test/MC/Mips/mips32r6/invalid-mips4.s
create mode 100644 test/MC/Mips/mips32r6/invalid-mips5-wrong-error.s
create mode 100644 test/MC/Mips/mips32r6/invalid-mips5.s
create mode 100644 test/MC/Mips/mips32r6/invalid.s
create mode 100644 test/MC/Mips/mips4/invalid-mips32.s
create mode 100644 test/MC/Mips/mips5/invalid-mips32.s
create mode 100644 test/MC/Mips/mips64-expansions.s
create mode 100644 test/MC/Mips/mips64/abiflags.s
create mode 100644 test/MC/Mips/mips64r2/abi-bad.s
create mode 100644 test/MC/Mips/mips64r2/abiflags.s
create mode 100644 test/MC/Mips/mips64r2/invalid.s
create mode 100644 test/MC/Mips/mips64r6/invalid-mips32-wrong-error.s
create mode 100644 test/MC/Mips/mips64r6/invalid-mips4-wrong-error.s
create mode 100644 test/MC/Mips/mips64r6/invalid-mips4.s
create mode 100644 test/MC/Mips/mips64r6/invalid-mips5.s
create mode 100644 test/MC/Mips/mips64r6/invalid-mips64.s
create mode 100644 test/MC/Mips/mips64r6/invalid.s
create mode 100644 test/MC/Mips/mips_abi_flags_xx.s
create mode 100644 test/MC/Mips/mips_abi_flags_xx_set.s
create mode 100644 test/MC/Mips/msa/abiflags.s
create mode 100644 test/MC/Mips/nooddspreg-cmdarg.s
create mode 100644 test/MC/Mips/nooddspreg-error.s
create mode 100644 test/MC/Mips/nooddspreg.s
create mode 100644 test/MC/Mips/oddspreg.s
create mode 100644 test/Object/Inputs/corrupt-archive.a
create mode 100644 test/Object/Inputs/darwin-m-test1.mach0-armv7
create mode 100644 test/Object/Inputs/darwin-m-test2.macho-i386
create mode 100755 test/Object/Inputs/darwin-m-test3.macho-x86-64
create mode 100755 test/Object/Inputs/hello-world.macho-x86_64
create mode 100644 test/Object/Inputs/macho-archive-x86_64.a
create mode 100755 test/Object/Inputs/no-sections.elf-x86-64
create mode 100644 test/Object/Inputs/program-headers.mips64
create mode 100644 test/Object/X86/archive-ir-asm.ll
create mode 100644 test/Object/X86/nm-ir.ll
create mode 100644 test/Object/nm-darwin-m.test
delete mode 100644 test/Object/nm-ir.ll
create mode 100644 test/Object/objdump-no-sectionheaders.test
create mode 100644 test/Object/yaml2obj-coff-multi-doc.test
create mode 100644 test/Object/yaml2obj-elf-multi-doc.test
create mode 100644 test/Object/yaml2obj-elf-symbol-visibility.yaml
create mode 100644 test/TableGen/if-empty-list-arg.td
create mode 100644 test/Transforms/ArgumentPromotion/dbg.ll
create mode 100644 test/Transforms/AtomicExpandLoadLinked/ARM/cmpxchg-weak.ll
create mode 100644 test/Transforms/GCOVProfiling/global-ctor.ll
create mode 100644 test/Transforms/GCOVProfiling/linezero.ll
create mode 100644 test/Transforms/GVN/calloc-load-removal.ll
create mode 100644 test/Transforms/GVN/invariant-load.ll
delete mode 100644 test/Transforms/GlobalMerge/AArch64/arm64.ll
delete mode 100644 test/Transforms/GlobalMerge/AArch64/lit.local.cfg
delete mode 100644 test/Transforms/GlobalMerge/ARM/arm.ll
delete mode 100644 test/Transforms/GlobalMerge/ARM/lit.local.cfg
create mode 100644 test/Transforms/IndVarSimplify/2014-06-21-congruent-constant.ll
create mode 100644 test/Transforms/Inline/debug-invoke.ll
create mode 100644 test/Transforms/Inline/null-function.ll
create mode 100644 test/Transforms/InstCombine/AddOverFlow.ll
create mode 100644 test/Transforms/InstCombine/abs_abs.ll
create mode 100644 test/Transforms/InstCombine/descale-zero.ll
create mode 100644 test/Transforms/InstCombine/distribute.ll
create mode 100644 test/Transforms/InstCombine/gepphigep.ll
create mode 100644 test/Transforms/InstCombine/pr20059.ll
create mode 100644 test/Transforms/InstCombine/pr20079.ll
create mode 100644 test/Transforms/InstCombine/r600-intrinsics.ll
delete mode 100644 test/Transforms/InstSimplify/2010-12-20-Distribute.ll
create mode 100644 test/Transforms/InstSimplify/apint-or.ll
create mode 100644 test/Transforms/JumpThreading/pr15851_hang.ll
create mode 100644 test/Transforms/LICM/extra-copies.ll
create mode 100644 test/Transforms/LICM/hoist-bitcast-load.ll
create mode 100644 test/Transforms/LoadCombine/load-combine.ll
create mode 100644 test/Transforms/LoopUnroll/pr18861.ll
create mode 100644 test/Transforms/LoopUnroll/unroll-pragmas.ll
create mode 100644 test/Transforms/LoopVectorize/X86/avx512.ll
create mode 100644 test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
create mode 100644 test/Transforms/LoopVectorize/control-flow.ll
create mode 100644 test/Transforms/LoopVectorize/no_switch.ll
create mode 100644 test/Transforms/LowerSwitch/2014-06-10-SwitchContiguousOpt.ll
create mode 100644 test/Transforms/LowerSwitch/2014-06-11-SwitchDefaultUnreachableOpt.ll
create mode 100644 test/Transforms/MergeFunc/functions.ll
create mode 100644 test/Transforms/MergeFunc/ranges.ll
delete mode 100644 test/Transforms/Reassociate/2002-05-15-SubReassociate2.ll
delete mode 100644 test/Transforms/Reassociate/subtest2.ll
create mode 100644 test/Transforms/SCCP/atomic.ll
create mode 100644 test/Transforms/SLPVectorizer/X86/addsub.ll
create mode 100644 test/Transforms/SLPVectorizer/X86/gep.ll
create mode 100644 test/Transforms/SLPVectorizer/X86/pr19657.ll
create mode 100644 test/Transforms/SROA/slice-order-independence.ll
create mode 100644 test/Transforms/SROA/slice-width.ll
create mode 100644 test/Transforms/SimplifyCFG/PR17073.ll
create mode 100644 test/Transforms/SimplifyCFG/speculate-vector-ops.ll
create mode 100644 test/Verifier/bitcast-alias-address-space.ll
create mode 100644 test/Verifier/comdat.ll
create mode 100644 test/Verifier/comdat2.ll
create mode 100644 test/Verifier/jumptable.ll
create mode 100755 test/tools/llvm-readobj/Inputs/got-empty.exe.mipsel
create mode 100755 test/tools/llvm-readobj/Inputs/got-tls.so.elf-mips64el
create mode 100644 test/tools/llvm-readobj/mips-got.test
create mode 100644 tools/llvm-readobj/ARMWinEHPrinter.cpp
create mode 100644 tools/llvm-readobj/ARMWinEHPrinter.h
delete mode 100644 unittests/ADT/OwningPtrTest.cpp
create mode 100644 unittests/MC/StringTableBuilderTest.cpp
create mode 100644 unittests/MC/YAMLTest.cpp
delete mode 100644 unittests/Object/CMakeLists.txt
delete mode 100644 unittests/Object/Makefile
delete mode 100644 unittests/Object/StringTableBuilderTest.cpp
delete mode 100644 unittests/Object/YAMLTest.cpp
create mode 100644 unittests/Support/ScaledNumberTest.cpp
create mode 100644 unittests/Support/SpecialCaseListTest.cpp
create mode 100644 unittests/Support/StringPool.cpp
delete mode 100644 unittests/Transforms/Utils/SpecialCaseList.cpp
delete mode 100644 utils/FileUpdate/Android.mk
delete mode 100644 utils/FileUpdate/CMakeLists.txt
delete mode 100644 utils/FileUpdate/FileUpdate.cpp
delete mode 100644 utils/FileUpdate/Makefile
delete mode 100644 utils/TableGen/SetTheory.cpp
delete mode 100644 utils/TableGen/SetTheory.h
diff --git a/.gitignore b/.gitignore
index 8225aa6..b59a311 100644
--- a/.gitignore
+++ b/.gitignore
@@ -45,6 +45,8 @@ tools/clang
tools/lldb
# lld, which is tracked independently.
tools/lld
+# Polly, which is tracked independently.
+tools/polly
# Sphinx build tree, if building in-source dir.
docs/_build
diff --git a/Android.mk b/Android.mk
index d456977..75dd2a0 100644
--- a/Android.mk
+++ b/Android.mk
@@ -25,6 +25,7 @@ subdirs := \
lib/Linker \
lib/LTO \
lib/MC \
+ lib/MC/MCAnalysis \
lib/MC/MCDisassembler \
lib/MC/MCParser \
lib/Object \
@@ -113,7 +114,6 @@ subdirs += \
subdirs += \
utils/count \
utils/FileCheck \
- utils/FileUpdate \
utils/not \
utils/TableGen \
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0d6eead..b9fca2a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -114,6 +114,12 @@ string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE)
# They are used as destination of target generators.
set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)
set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib)
+if(WIN32 OR CYGWIN)
+ # DLL platform -- put DLLs into bin.
+ set(LLVM_SHLIB_OUTPUT_INTDIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
+else()
+ set(LLVM_SHLIB_OUTPUT_INTDIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
+endif()
# Each of them corresponds to llvm-config's.
set(LLVM_TOOLS_BINARY_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR}) # --bindir
@@ -234,7 +240,7 @@ option(LLVM_USE_OPROFILE
# If enabled, verify we are on a platform that supports oprofile.
if( LLVM_USE_OPROFILE )
if( NOT CMAKE_SYSTEM_NAME MATCHES "Linux" )
- message(FATAL_ERROR "OProfile support is available on Linux only.")
+ message(FATAL_ERROR "OProfile support is available on Linux only.")
endif( NOT CMAKE_SYSTEM_NAME MATCHES "Linux" )
endif( LLVM_USE_OPROFILE )
@@ -244,6 +250,9 @@ set(LLVM_USE_SANITIZER "" CACHE STRING
option(LLVM_USE_SPLIT_DWARF
"Use -gsplit-dwarf when compiling llvm." OFF)
+option(WITH_POLLY "Build LLVM with Polly" ON)
+option(LINK_POLLY_INTO_TOOLS "Static link Polly into tools" OFF)
+
# Define an option controlling whether we should build for 32-bit on 64-bit
# platforms, where supported.
if( CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT WIN32 )
@@ -496,7 +505,6 @@ add_subdirectory(lib)
if( LLVM_INCLUDE_UTILS )
add_subdirectory(utils/FileCheck)
- add_subdirectory(utils/FileUpdate)
add_subdirectory(utils/PerfectShuffle)
add_subdirectory(utils/count)
add_subdirectory(utils/not)
@@ -515,9 +523,6 @@ endif()
add_subdirectory(projects)
-option(WITH_POLLY "Build LLVM with Polly" ON)
-option(LINK_POLLY_INTO_TOOLS "Static link Polly into tools" OFF)
-
if(WITH_POLLY)
if(NOT EXISTS ${LLVM_MAIN_SRC_DIR}/tools/polly/CMakeLists.txt)
set(WITH_POLLY OFF)
@@ -583,6 +588,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
PATTERN "*.inc"
# Exclude include/llvm/CMakeFiles/intrinsics_gen.dir, matched by "*.def"
PATTERN "CMakeFiles" EXCLUDE
+ PATTERN "config.h" EXCLUDE
PATTERN ".svn" EXCLUDE
)
endif()
diff --git a/CREDITS.TXT b/CREDITS.TXT
index 311a661..0447c40 100644
--- a/CREDITS.TXT
+++ b/CREDITS.TXT
@@ -107,6 +107,10 @@ N: Rafael Avila de Espindola
E: rafael.espindola@gmail.com
D: The ARM backend
+N: Dave Estes
+E: cestes@codeaurora.org
+D: AArch64 machine description for Cortex-A53
+
N: Alkis Evlogimenos
E: alkis@evlogimenos.com
D: Linear scan register allocator, many codegen improvements, Java frontend
@@ -162,10 +166,12 @@ D: Improvements for space efficiency
N: James Grosbach
E: grosbach@apple.com
+I: grosbach
D: SjLj exception handling support
D: General fixes and improvements for the ARM back-end
D: MCJIT
D: ARM integrated assembler and assembly parser
+D: Led effort for the backend formerly known as ARM64
N: Lang Hames
E: lhames@gmail.com
@@ -339,6 +345,10 @@ D: LTO tool, PassManager rewrite, Loop Pass Manager, Loop Rotate
D: GCC PCH Integration (llvm-gcc), llvm-gcc improvements
D: Optimizer improvements, Loop Index Split
+N: Ana Pazos
+E: apazos@codeaurora.org
+D: Fixes and improvements to the AArch64 backend
+
N: Wesley Peck
E: peckw@wesleypeck.com
W: http://wesleypeck.com/
@@ -368,8 +378,10 @@ D: ARM calling conventions rewrite, hard float support
N: Chad Rosier
E: mcrosier@codeaurora.org
-D: ARM fast-isel improvements
-D: Performance monitoring
+I: mcrosier
+D: AArch64 fast instruction selection pass
+D: Fixes and improvements to the ARM fast-isel pass
+D: Fixes and improvements to the AArch64 backend
N: Nadav Rotem
E: nrotem@apple.com
diff --git a/Makefile.rules b/Makefile.rules
index 9417971..ebebc0a 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -377,6 +377,7 @@ ifeq ($(ENABLE_COVERAGE),1)
BuildMode := $(BuildMode)+Coverage
CXX.Flags += -ftest-coverage -fprofile-arcs
C.Flags += -ftest-coverage -fprofile-arcs
+ LD.Flags += -ftest-coverage -fprofile-arcs
endif
# If DISABLE_ASSERTIONS=1 is specified (make command line or configured),
@@ -1724,7 +1725,7 @@ $(ObjDir)/%GenDFAPacketizer.inc.tmp : %.td $(ObjDir)/.dir $(LLVM_TBLGEN)
# Dump all the records to .td.expanded. This is useful for debugging.
$(TARGET:%=%.td.expanded): \
-%.td.expanded : %.td $(LLVM_TBLGEN)
+%.td.expanded : %.td $(LLVM_TBLGEN) $(TDFiles)
$(Echo) "Building a fully expanded version of $( Llvm_target.DataLayout.t
end
+(** [initialize_native_target ()] initializes the native target corresponding
+ to the host. Returns [true] if initialization is {b not} done. *)
val initialize_native_target : unit -> bool
diff --git a/bindings/ocaml/llvm/llvm.ml b/bindings/ocaml/llvm/llvm.ml
index d36f360..39875a5 100644
--- a/bindings/ocaml/llvm/llvm.ml
+++ b/bindings/ocaml/llvm/llvm.ml
@@ -16,6 +16,7 @@ type lluse
type llbasicblock
type llbuilder
type llmemorybuffer
+type llmdkind
module TypeKind = struct
type t =
@@ -299,7 +300,7 @@ type ('a, 'b) llrev_pos =
external create_context : unit -> llcontext = "llvm_create_context"
external dispose_context : llcontext -> unit = "llvm_dispose_context"
external global_context : unit -> llcontext = "llvm_global_context"
-external mdkind_id : llcontext -> string -> int = "llvm_mdkind_id"
+external mdkind_id : llcontext -> string -> llmdkind = "llvm_mdkind_id"
(*===-- Modules -----------------------------------------------------------===*)
external create_module : llcontext -> string -> llmodule = "llvm_create_module"
@@ -442,9 +443,9 @@ external constexpr_opcode : llvalue -> Opcode.t = "llvm_constexpr_get_opcode"
(*--... Operations on instructions .........................................--*)
external has_metadata : llvalue -> bool = "llvm_has_metadata"
-external metadata : llvalue -> int -> llvalue option = "llvm_metadata"
-external set_metadata : llvalue -> int -> llvalue -> unit = "llvm_set_metadata"
-external clear_metadata : llvalue -> int -> unit = "llvm_clear_metadata"
+external metadata : llvalue -> llmdkind -> llvalue option = "llvm_metadata"
+external set_metadata : llvalue -> llmdkind -> llvalue -> unit = "llvm_set_metadata"
+external clear_metadata : llvalue -> llmdkind -> unit = "llvm_clear_metadata"
(*--... Operations on metadata .......,.....................................--*)
external mdstring : llcontext -> string -> llvalue = "llvm_mdstring"
diff --git a/bindings/ocaml/llvm/llvm.mli b/bindings/ocaml/llvm/llvm.mli
index e996121..f5f5b53 100644
--- a/bindings/ocaml/llvm/llvm.mli
+++ b/bindings/ocaml/llvm/llvm.mli
@@ -48,6 +48,9 @@ type llbuilder
See the [llvm::MemoryBuffer] class. *)
type llmemorybuffer
+(** The kind id of metadata attached to an instruction. *)
+type llmdkind
+
(** The kind of an [lltype], the result of [classify_type ty]. See the
[llvm::Type::TypeID] enumeration. *)
module TypeKind : sig
@@ -154,38 +157,40 @@ end
See the [llvm::ICmpInst::Predicate] enumeration. *)
module Icmp : sig
type t =
- | Eq
- | Ne
- | Ugt
- | Uge
- | Ult
- | Ule
- | Sgt
- | Sge
- | Slt
- | Sle
+ | Eq (* Equal *)
+ | Ne (* Not equal *)
+ | Ugt (* Unsigned greater than *)
+ | Uge (* Unsigned greater or equal *)
+ | Ult (* Unsigned less than *)
+ | Ule (* Unsigned less or equal *)
+ | Sgt (* Signed greater than *)
+ | Sge (* Signed greater or equal *)
+ | Slt (* Signed less than *)
+ | Sle (* Signed less or equal *)
end
(** The predicate for a floating-point comparison ([fcmp]) instruction.
+ Ordered means that neither operand is a QNAN while unordered means
+ that either operand may be a QNAN.
See the [llvm::FCmpInst::Predicate] enumeration. *)
module Fcmp : sig
type t =
- | False
- | Oeq
- | Ogt
- | Oge
- | Olt
- | Ole
- | One
- | Ord
- | Uno
- | Ueq
- | Ugt
- | Uge
- | Ult
- | Ule
- | Une
- | True
+ | False (* Always false *)
+ | Oeq (* Ordered and equal *)
+ | Ogt (* Ordered and greater than *)
+ | Oge (* Ordered and greater or equal *)
+ | Olt (* Ordered and less than *)
+ | Ole (* Ordered and less or equal *)
+ | One (* Ordered and not equal *)
+ | Ord (* Ordered (no operand is NaN) *)
+ | Uno (* Unordered (one operand at least is NaN) *)
+ | Ueq (* Unordered and equal *)
+ | Ugt (* Unordered and greater than *)
+ | Uge (* Unordered and greater or equal *)
+ | Ult (* Unordered and less than *)
+ | Ule (* Unordered and less or equal *)
+ | Une (* Unordered and not equal *)
+ | True (* Always true *)
end
(** The opcodes for LLVM instructions and constant expressions. *)
@@ -392,7 +397,7 @@ val global_context : unit -> llcontext
(** [mdkind_id context name] returns the MDKind ID that corresponds to the
name [name] in the context [context]. See the function
[llvm::LLVMContext::getMDKindID]. *)
-val mdkind_id : llcontext -> string -> int
+val mdkind_id : llcontext -> string -> llmdkind
(** {6 Modules} *)
@@ -770,15 +775,15 @@ val has_metadata : llvalue -> bool
(** [metadata i kind] optionally returns the metadata associated with the
kind [kind] in the instruction [i] See the function
[llvm::Instruction::getMetadata]. *)
-val metadata : llvalue -> int -> llvalue option
+val metadata : llvalue -> llmdkind -> llvalue option
(** [set_metadata i kind md] sets the metadata [md] of kind [kind] in the
instruction [i]. See the function [llvm::Instruction::setMetadata]. *)
-val set_metadata : llvalue -> int -> llvalue -> unit
+val set_metadata : llvalue -> llmdkind -> llvalue -> unit
(** [clear_metadata i kind] clears the metadata of kind [kind] in the
instruction [i]. See the function [llvm::Instruction::setMetadata]. *)
-val clear_metadata : llvalue -> int -> unit
+val clear_metadata : llvalue -> llmdkind -> unit
(** {7 Operations on metadata} *)
@@ -1048,12 +1053,12 @@ val const_lshr : llvalue -> llvalue -> llvalue
See the method [llvm::ConstantExpr::getAShr]. *)
val const_ashr : llvalue -> llvalue -> llvalue
-(** [const_gep pc indices] returns the constant [getElementPtr] of [p1] with the
+(** [const_gep pc indices] returns the constant [getElementPtr] of [pc] with the
constant integers indices from the array [indices].
See the method [llvm::ConstantExpr::getGetElementPtr]. *)
val const_gep : llvalue -> llvalue array -> llvalue
-(** [const_in_bounds_gep pc indices] returns the constant [getElementPtr] of [p1]
+(** [const_in_bounds_gep pc indices] returns the constant [getElementPtr] of [pc]
with the constant integers indices from the array [indices].
See the method [llvm::ConstantExpr::getInBoundsGetElementPtr]. *)
val const_in_bounds_gep : llvalue -> llvalue array -> llvalue
@@ -2357,7 +2362,7 @@ val build_insertelement : llvalue -> llvalue -> llvalue -> string ->
val build_shufflevector : llvalue -> llvalue -> llvalue -> string ->
llbuilder -> llvalue
-(** [build_insertvalue agg idx name b] creates a
+(** [build_extractvalue agg idx name b] creates a
[%name = extractvalue %agg, %idx]
instruction at the position specified by the instruction builder [b].
See the method [llvm::LLVMBuilder::CreateExtractValue]. *)
diff --git a/bindings/ocaml/target/target_ocaml.c b/bindings/ocaml/target/target_ocaml.c
index 9e8778a..74e8185 100644
--- a/bindings/ocaml/target/target_ocaml.c
+++ b/bindings/ocaml/target/target_ocaml.c
@@ -352,8 +352,8 @@ CAMLprim value llvm_targetmachine_data_layout(value Machine) {
CAMLreturn(DataLayout);
}
-/* TargetMachine.t -> bool -> unit */
-CAMLprim value llvm_targetmachine_set_verbose_asm(value Machine, value Verb) {
+/* bool -> TargetMachine.t -> unit */
+CAMLprim value llvm_targetmachine_set_verbose_asm(value Verb, value Machine) {
LLVMSetTargetMachineAsmVerbosity(TargetMachine_val(Machine), Bool_val(Verb));
return Val_unit;
}
diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake
index 1325e79..b862ceb 100755
--- a/cmake/config-ix.cmake
+++ b/cmake/config-ix.cmake
@@ -252,15 +252,9 @@ function(llvm_find_program name)
endif(LLVM_PATH_${NAME})
endfunction()
-llvm_find_program(gv)
-llvm_find_program(circo)
-llvm_find_program(twopi)
-llvm_find_program(neato)
-llvm_find_program(fdp)
-llvm_find_program(dot)
-llvm_find_program(dotty)
-llvm_find_program(xdot xdot.py)
-llvm_find_program(Graphviz)
+if (LLVM_ENABLE_DOXYGEN)
+ llvm_find_program(dot)
+endif ()
if( LLVM_ENABLE_FFI )
find_path(FFI_INCLUDE_PATH ffi.h PATHS ${FFI_INCLUDE_DIR})
@@ -304,25 +298,6 @@ else()
set(ENABLE_PIC 0)
endif()
-find_package(LibXml2)
-if (LIBXML2_FOUND)
- set(CLANG_HAVE_LIBXML 1)
- # When cross-compiling, liblzma is not detected as a dependency for libxml2,
- # which makes linking c-index-test fail. But for native builds, all libraries
- # are installed and checked by CMake before Makefiles are generated and everything
- # works according to the plan. However, if a -llzma is added to native builds,
- # an additional requirement on the static liblzma.a is required, but will not
- # be checked by CMake, breaking native compilation.
- # Since this is only pertinent to cross-compilations, and there's no way CMake
- # can check for every foreign library on every OS, we add the dep and warn the dev.
- if ( CMAKE_CROSSCOMPILING )
- if (NOT PC_LIBXML_VERSION VERSION_LESS "2.8.0")
- message(STATUS "Adding LZMA as a dep to XML2 for cross-compilation, make sure liblzma.a is available.")
- set(LIBXML2_LIBRARIES ${LIBXML2_LIBRARIES} "-llzma")
- endif ()
- endif ()
-endif ()
-
check_cxx_compiler_flag("-Wno-variadic-macros" SUPPORTS_NO_VARIADIC_MACROS_FLAG)
set(USE_NO_MAYBE_UNINITIALIZED 0)
diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake
index 69ffa5b..31540d9 100644
--- a/cmake/modules/AddLLVM.cmake
+++ b/cmake/modules/AddLLVM.cmake
@@ -150,6 +150,11 @@ endfunction(add_dead_strip)
# Note: Don't set variables CMAKE_*_OUTPUT_DIRECTORY any more,
# or a certain builder, for eaxample, msbuild.exe, would be confused.
function(set_output_directory target bindir libdir)
+ # Do nothing if *_OUTPUT_INTDIR is empty.
+ if("${bindir}" STREQUAL "")
+ return()
+ endif()
+
if(NOT "${CMAKE_CFG_INTDIR}" STREQUAL ".")
foreach(build_mode ${CMAKE_CONFIGURATION_TYPES})
string(TOUPPER "${build_mode}" CONFIG_SUFFIX)
@@ -205,7 +210,7 @@ function(llvm_add_library name)
if(ARG_SHARED OR ARG_STATIC)
message(WARNING "MODULE with SHARED|STATIC doesn't make sense.")
endif()
- if(NOT LLVM_ON_UNIX OR CYGWIN)
+ if(NOT LLVM_ENABLE_PLUGINS)
message(STATUS "${name} ignored -- Loadable modules not supported on this platform.")
return()
endif()
@@ -570,12 +575,6 @@ function(configure_lit_site_cfg input output)
set(SHLIBEXT "${LTDL_SHLIB_EXT}")
- if(BUILD_SHARED_LIBS)
- set(LLVM_SHARED_LIBS_ENABLED "1")
- else()
- set(LLVM_SHARED_LIBS_ENABLED "0")
- endif(BUILD_SHARED_LIBS)
-
# Configuration-time: See Unit/lit.site.cfg.in
if (CMAKE_CFG_INTDIR STREQUAL ".")
set(LLVM_BUILD_MODE ".")
@@ -590,10 +589,16 @@ function(configure_lit_site_cfg input output)
string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} LLVM_LIBS_DIR ${LLVM_LIBRARY_DIR})
# SHLIBDIR points the build tree.
- string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} SHLIBDIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
+ string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} SHLIBDIR "${LLVM_SHLIB_OUTPUT_INTDIR}")
set(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE})
- set(ENABLE_SHARED ${LLVM_SHARED_LIBS_ENABLED})
+ # FIXME: "ENABLE_SHARED" doesn't make sense, since it is used just for
+ # plugins. We may rename it.
+ if(LLVM_ENABLE_PLUGINS)
+ set(ENABLE_SHARED "1")
+ else()
+ set(ENABLE_SHARED "0")
+ endif()
if(LLVM_ENABLE_ASSERTIONS AND NOT MSVC_IDE)
set(ENABLE_ASSERTIONS "1")
diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake
index 447ba52..b8577f7 100644
--- a/cmake/modules/HandleLLVMOptions.cmake
+++ b/cmake/modules/HandleLLVMOptions.cmake
@@ -67,12 +67,6 @@ if( LLVM_ENABLE_ASSERTIONS )
"${flags_var_to_scrub}" "${${flags_var_to_scrub}}")
endforeach()
endif()
-else()
- if( NOT uppercase_CMAKE_BUILD_TYPE STREQUAL "RELEASE" )
- if( NOT MSVC_IDE AND NOT XCODE )
- add_definitions( -DNDEBUG )
- endif()
- endif()
endif()
if(WIN32)
@@ -113,18 +107,6 @@ if(APPLE)
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,-flat_namespace -Wl,-undefined -Wl,suppress")
endif()
-function(add_flag_or_print_warning flag)
- check_c_compiler_flag(${flag} C_SUPPORTS_FLAG)
- check_cxx_compiler_flag(${flag} CXX_SUPPORTS_FLAG)
- if (C_SUPPORTS_FLAG AND CXX_SUPPORTS_FLAG)
- message(STATUS "Building with ${flag}")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}" PARENT_SCOPE)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}" PARENT_SCOPE)
- else()
- message(WARNING "${flag} is not supported.")
- endif()
-endfunction()
-
function(append value)
foreach(variable ${ARGN})
set(${variable} "${${variable}} ${value}" PARENT_SCOPE)
@@ -139,13 +121,25 @@ function(append_if condition value)
endif()
endfunction()
-macro(add_flag_if_supported flag)
- check_c_compiler_flag(${flag} C_SUPPORTS_FLAG)
- append_if(C_SUPPORTS_FLAG "${flag}" CMAKE_C_FLAGS)
- check_cxx_compiler_flag(${flag} CXX_SUPPORTS_FLAG)
- append_if(CXX_SUPPORTS_FLAG "${flag}" CMAKE_CXX_FLAGS)
+macro(add_flag_if_supported flag name)
+ check_c_compiler_flag("-Werror ${flag}" "C_SUPPORTS_${name}")
+ append_if("C_SUPPORTS_${name}" "${flag}" CMAKE_C_FLAGS)
+ check_cxx_compiler_flag("-Werror ${flag}" "CXX_SUPPORTS_${name}")
+ append_if("CXX_SUPPORTS_${name}" "${flag}" CMAKE_CXX_FLAGS)
endmacro()
+function(add_flag_or_print_warning flag name)
+ check_c_compiler_flag("-Werror ${flag}" "C_SUPPORTS_${name}")
+ check_cxx_compiler_flag("-Werror ${flag}" "CXX_SUPPORTS_${name}")
+ if ("C_SUPPORTS_${name}" AND "CXX_SUPPORTS_${name}")
+ message(STATUS "Building with ${flag}")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}" PARENT_SCOPE)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}" PARENT_SCOPE)
+ else()
+ message(WARNING "${flag} is not supported.")
+ endif()
+endfunction()
+
if( LLVM_ENABLE_PIC )
if( XCODE )
# Xcode has -mdynamic-no-pic on by default, which overrides -fPIC. I don't
@@ -154,7 +148,7 @@ if( LLVM_ENABLE_PIC )
elseif( WIN32 OR CYGWIN)
# On Windows all code is PIC. MinGW warns if -fPIC is used.
else()
- add_flag_or_print_warning("-fPIC")
+ add_flag_or_print_warning("-fPIC" FPIC)
if( WIN32 OR CYGWIN)
# MinGW warns if -fvisibility-inlines-hidden is used.
@@ -290,10 +284,7 @@ elseif( LLVM_COMPILER_IS_GCC_COMPATIBLE )
endif()
append_if(LLVM_ENABLE_PEDANTIC "-pedantic -Wno-long-long" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
- check_cxx_compiler_flag("-Werror -Wcovered-switch-default" CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG)
- append_if(CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG "-Wcovered-switch-default" CMAKE_CXX_FLAGS)
- check_c_compiler_flag("-Werror -Wcovered-switch-default" C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG)
- append_if(C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG "-Wcovered-switch-default" CMAKE_C_FLAGS)
+ add_flag_if_supported("-Wcovered-switch-default" COVERED_SWITCH_DEFAULT_FLAG)
append_if(USE_NO_UNINITIALIZED "-Wno-uninitialized" CMAKE_CXX_FLAGS)
append_if(USE_NO_MAYBE_UNINITIALIZED "-Wno-maybe-uninitialized" CMAKE_CXX_FLAGS)
check_cxx_compiler_flag("-Werror -Wnon-virtual-dtor" CXX_SUPPORTS_NON_VIRTUAL_DTOR_FLAG)
@@ -311,6 +302,9 @@ elseif( LLVM_COMPILER_IS_GCC_COMPATIBLE )
endif()
endif (LLVM_ENABLE_WARNINGS)
append_if(LLVM_ENABLE_WERROR "-Werror" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
+ if (NOT LLVM_ENABLE_TIMESTAMPS)
+ add_flag_if_supported("-Werror=date-time" WERROR_DATE_TIME)
+ endif ()
if (LLVM_ENABLE_CXX1Y)
check_cxx_compiler_flag("-std=c++1y" CXX_SUPPORTS_CXX1Y)
append_if(CXX_SUPPORTS_CXX1Y "-std=c++1y" CMAKE_CXX_FLAGS)
@@ -333,14 +327,14 @@ endif( MSVC )
macro(append_common_sanitizer_flags)
# Append -fno-omit-frame-pointer and turn on debug info to get better
# stack traces.
- add_flag_if_supported("-fno-omit-frame-pointer")
+ add_flag_if_supported("-fno-omit-frame-pointer" FNO_OMIT_FRAME_POINTER)
if (NOT uppercase_CMAKE_BUILD_TYPE STREQUAL "DEBUG" AND
NOT uppercase_CMAKE_BUILD_TYPE STREQUAL "RELWITHDEBINFO")
- add_flag_if_supported("-gline-tables-only")
+ add_flag_if_supported("-gline-tables-only" GLINE_TABLES_ONLY)
endif()
# Use -O1 even in debug mode, otherwise sanitizers slowdown is too large.
if (uppercase_CMAKE_BUILD_TYPE STREQUAL "DEBUG")
- add_flag_if_supported("-O1")
+ add_flag_if_supported("-O1" O1)
endif()
endmacro()
@@ -349,12 +343,12 @@ if(LLVM_USE_SANITIZER)
if (LLVM_ON_UNIX)
if (LLVM_USE_SANITIZER STREQUAL "Address")
append_common_sanitizer_flags()
- add_flag_or_print_warning("-fsanitize=address")
+ append("-fsanitize=address" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
elseif (LLVM_USE_SANITIZER MATCHES "Memory(WithOrigins)?")
append_common_sanitizer_flags()
- add_flag_or_print_warning("-fsanitize=memory")
+ append("-fsanitize=memory" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
if(LLVM_USE_SANITIZER STREQUAL "MemoryWithOrigins")
- add_flag_or_print_warning("-fsanitize-memory-track-origins")
+ append("-fsanitize-memory-track-origins" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
endif()
else()
message(WARNING "Unsupported value of LLVM_USE_SANITIZER: ${LLVM_USE_SANITIZER}")
@@ -390,15 +384,9 @@ if(NOT CYGWIN AND NOT WIN32)
if (C_SUPPORTS_FNO_FUNCTION_SECTIONS)
# Don't add -ffunction-section if it can be disabled with -fno-function-sections.
# Doing so will break sanitizers.
- check_c_compiler_flag("-Werror -ffunction-sections" C_SUPPORTS_FFUNCTION_SECTIONS)
- check_cxx_compiler_flag("-Werror -ffunction-sections" CXX_SUPPORTS_FFUNCTION_SECTIONS)
- append_if(C_SUPPORTS_FFUNCTION_SECTIONS "-ffunction-sections" CMAKE_C_FLAGS)
- append_if(CXX_SUPPORTS_FFUNCTION_SECTIONS "-ffunction-sections" CMAKE_CXX_FLAGS)
+ add_flag_if_supported("-ffunction-sections" FFUNCTION_SECTIONS)
endif()
- check_c_compiler_flag("-Werror -fdata-sections" C_SUPPORTS_FDATA_SECTIONS)
- check_cxx_compiler_flag("-Werror -fdata-sections" CXX_SUPPORTS_FDATA_SECTIONS)
- append_if(C_SUPPORTS_FDATA_SECTIONS "-fdata-sections" CMAKE_C_FLAGS)
- append_if(CXX_SUPPORTS_FDATA_SECTIONS "-fdata-sections" CMAKE_CXX_FLAGS)
+ add_flag_if_supported("-fdata-sections" FDATA_SECTIONS)
endif()
endif()
@@ -419,3 +407,12 @@ if(MSVC)
string(REGEX REPLACE "(^| ) */EH[-cs]+ *( |$)" "\\1 \\2" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REGEX REPLACE "(^| ) */GR-? *( |$)" "\\1 \\2" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
endif()
+
+# Plugin support
+# FIXME: Make this configurable.
+if(WIN32 OR CYGWIN)
+ # DLL platform(s) don't support plugins.
+ set(LLVM_ENABLE_PLUGINS OFF)
+else()
+ set(LLVM_ENABLE_PLUGINS ON)
+endif()
diff --git a/configure b/configure
index e1959df..e9aba06 100755
--- a/configure
+++ b/configure
@@ -14,7 +14,7 @@
## M4sh Initialization. ##
## --------------------- ##
-# Be Bourne compatible
+# Be Bourne compatible.
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
@@ -7612,7 +7612,7 @@ if test "${llvm_cv_link_version+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- version_string="$(ld -v 2>&1 | head -1)"
+ version_string="$(${LD:-ld} -v 2>&1 | head -1)"
# Check for ld64.
if (echo "$version_string" | grep -q "ld64"); then
diff --git a/docs/Atomics.rst b/docs/Atomics.rst
index 1243f34..5f17c61 100644
--- a/docs/Atomics.rst
+++ b/docs/Atomics.rst
@@ -110,8 +110,7 @@ where threads and signals are involved.
``cmpxchg`` and ``atomicrmw`` are essentially like an atomic load followed by an
atomic store (where the store is conditional for ``cmpxchg``), but no other
-memory operation can happen on any thread between the load and store. Note that
-LLVM's cmpxchg does not provide quite as many options as the C++0x version.
+memory operation can happen on any thread between the load and store.
A ``fence`` provides Acquire and/or Release ordering which is not part of
another operation; it is normally used along with Monotonic memory operations.
@@ -430,10 +429,9 @@ other ``atomicrmw`` operations generate a loop with ``LOCK CMPXCHG``. Depending
on the users of the result, some ``atomicrmw`` operations can be translated into
operations like ``LOCK AND``, but that does not work in general.
-On ARM, MIPS, and many other RISC architectures, Acquire, Release, and
-SequentiallyConsistent semantics require barrier instructions for every such
+On ARM (before v8), MIPS, and many other RISC architectures, Acquire, Release,
+and SequentiallyConsistent semantics require barrier instructions for every such
operation. Loads and stores generate normal instructions. ``cmpxchg`` and
``atomicrmw`` can be represented using a loop with LL/SC-style instructions
which take some sort of exclusive lock on a cache line (``LDREX`` and ``STREX``
-on ARM, etc.). At the moment, the IR does not provide any way to represent a
-weak ``cmpxchg`` which would not require a loop.
+on ARM, etc.).
diff --git a/docs/CMake.rst b/docs/CMake.rst
index fed283d..bfc9cb9 100644
--- a/docs/CMake.rst
+++ b/docs/CMake.rst
@@ -132,7 +132,7 @@ write the variable and the type on the CMake command line:
Frequently-used CMake variables
-------------------------------
-Here are listed some of the CMake variables that are used often, along with a
+Here are some of the CMake variables that are used often, along with a
brief explanation and LLVM-specific notes. For full documentation, check the
CMake docs or execute ``cmake --help-variable VARIABLE_NAME``.
@@ -157,8 +157,8 @@ CMake docs or execute ``cmake --help-variable VARIABLE_NAME``.
Extra flags to use when compiling C++ source files.
**BUILD_SHARED_LIBS**:BOOL
- Flag indicating is shared libraries will be built. Its default value is
- OFF. Shared libraries are not supported on Windows and not recommended in the
+ Flag indicating if shared libraries will be built. Its default value is
+ OFF. Shared libraries are not supported on Windows and not recommended on the
other OSes.
.. _LLVM-specific variables:
@@ -487,7 +487,7 @@ into LLVM source tree. You can achieve it in two easy steps:
#. Adding ``add_subdirectory()`` line into
``/lib/Transform/CMakeLists.txt``.
-Compiler/Platform specific topics
+Compiler/Platform-specific topics
=================================
Notes for specific compilers and/or platforms.
diff --git a/docs/CodeGenerator.rst b/docs/CodeGenerator.rst
index cc09946..5736e43 100644
--- a/docs/CodeGenerator.rst
+++ b/docs/CodeGenerator.rst
@@ -1228,7 +1228,7 @@ used. Each virtual register can only be mapped to physical registers of a
particular class. For instance, in the X86 architecture, some virtuals can only
be allocated to 8 bit registers. A register class is described by
``TargetRegisterClass`` objects. To discover if a virtual register is
-compatible with a given physical, this code can be used:
+compatible with a given physical, this code can be used:
.. code-block:: c++
@@ -1683,7 +1683,7 @@ ones supported by the matcher), through a Requires clause:
def : MnemonicAlias<"pushf", "pushfq">, Requires<[In64BitMode]>;
def : MnemonicAlias<"pushf", "pushfl">, Requires<[In32BitMode]>;
-In this example, the mnemonic gets mapped into different a new one depending on
+In this example, the mnemonic gets mapped into a different one depending on
the current instruction set.
Instruction Aliases
@@ -2027,7 +2027,7 @@ supported on x86/x86-64 and PowerPC. It is performed if:
* Option ``-tailcallopt`` is enabled.
-* Platform specific constraints are met.
+* Platform-specific constraints are met.
x86/x86-64 constraints:
diff --git a/docs/CodingStandards.rst b/docs/CodingStandards.rst
index edbef3a..3cfa1f6 100644
--- a/docs/CodingStandards.rst
+++ b/docs/CodingStandards.rst
@@ -107,10 +107,7 @@ unlikely to be supported by our host compilers.
* Trailing return types: N2541_
* Lambdas: N2927_
- * But *not* ``std::function``, until Clang implements `MSVC-compatible RTTI`_.
- In many cases, you may be able to use ``llvm::function_ref`` instead, and it
- is a superior choice in those cases.
- * And *not* lambdas with default arguments.
+ * But *not* lambdas with default arguments.
* ``decltype``: N2343_
* Nested closing right angle brackets: N1757_
diff --git a/docs/CommandGuide/bugpoint.rst b/docs/CommandGuide/bugpoint.rst
index e4663e5..f11585d 100644
--- a/docs/CommandGuide/bugpoint.rst
+++ b/docs/CommandGuide/bugpoint.rst
@@ -124,10 +124,6 @@ OPTIONS
do not use this option, **bugpoint** will attempt to generate a reference output
by compiling the program with the "safe" backend and running it.
-**--profile-info-file** *filename*
-
- Profile file loaded by **--profile-loader**.
-
**--run-{int,jit,llc,custom}**
Whenever the test program is compiled, **bugpoint** should generate code for it
diff --git a/docs/CommandGuide/opt.rst b/docs/CommandGuide/opt.rst
index 3fed684..ad5b62c 100644
--- a/docs/CommandGuide/opt.rst
+++ b/docs/CommandGuide/opt.rst
@@ -99,10 +99,6 @@ OPTIONS
:option:`-std-compile-opts` and :option:`-verify-each` can quickly track down
this kind of problem.
-.. option:: -profile-info-file
-
- Specify the name of the file loaded by the ``-profile-loader`` option.
-
.. option:: -stats
Print statistics.
diff --git a/docs/Extensions.rst b/docs/Extensions.rst
index a49485c..271c085 100644
--- a/docs/Extensions.rst
+++ b/docs/Extensions.rst
@@ -76,7 +76,7 @@ the target. It corresponds to the COFF relocation types
Syntax:
- ``.linkonce [ comdat type [ section identifier ] ]``
+ ``.linkonce [ comdat type ]``
Supported COMDAT types:
@@ -95,16 +95,6 @@ Supported COMDAT types:
Duplicates are discarded, but the linker issues an error if any duplicates
do not have exactly the same content.
-``associative``
- Links the section if a certain other COMDAT section is linked. This other
- section is indicated by its section identifier following the comdat type.
- The following restrictions apply to the associated section:
-
- 1. It must be the name of a section already defined.
- 2. It must differ from the current section.
- 3. It must be a COMDAT section.
- 4. It cannot be another associative COMDAT section.
-
``largest``
Links the largest section from among the duplicates.
@@ -118,10 +108,6 @@ Supported COMDAT types:
.linkonce
...
- .section .xdata$foo
- .linkonce associative .text$foo
- ...
-
``.section`` Directive
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -160,6 +146,25 @@ different COMDATs:
Symbol2:
.long 1
+In addition to the types allowed with ``.linkonce``, ``.section`` also accepts
+``associative``. The meaning is that the section is linked if a certain other
+COMDAT section is linked. This other section is indicated by the comdat symbol
+in this directive. It can be any symbol defined in the associated section, but
+is usually the associated section's comdat.
+
+ The following restrictions apply to the associated section:
+
+ 1. It must be a COMDAT section.
+ 2. It cannot be another associative COMDAT section.
+
+In the following example the symobl ``sym`` is the comdat symbol of ``.foo``
+and ``.bar`` is associated to ``.foo``.
+
+.. code-block:: gas
+
+ .section .foo,"bw",discard, "sym"
+ .section .bar,"rd",associative, "sym"
+
Target Specific Behaviour
=========================
@@ -190,3 +195,17 @@ range via a slight deviation. It will generate an indirect jump as follows:
blx r12
sub.w sp, sp, r4
+Variable Length Arrays
+^^^^^^^^^^^^^^^^^^^^^^
+
+The reference implementation (Microsoft Visual Studio 2012) does not permit the
+emission of Variable Length Arrays (VLAs).
+
+The Windows ARM Itanium ABI extends the base ABI by adding support for emitting
+a dynamic stack allocation. When emitting a variable stack allocation, a call
+to ``__chkstk`` is emitted unconditionally to ensure that guard pages are setup
+properly. The emission of this stack probe emission is handled similar to the
+standard stack probe emission.
+
+The MSVC environment does not emit code for VLAs currently.
+
diff --git a/docs/GarbageCollection.rst b/docs/GarbageCollection.rst
index 323a6ea..dc6dab1 100644
--- a/docs/GarbageCollection.rst
+++ b/docs/GarbageCollection.rst
@@ -633,7 +633,7 @@ Threaded
Denotes a multithreaded mutator; the collector must still stop the mutator
("stop the world") before beginning reachability analysis. Stopping a
multithreaded mutator is a complicated problem. It generally requires highly
- platform specific code in the runtime, and the production of carefully
+ platform-specific code in the runtime, and the production of carefully
designed machine code at safe points.
Concurrent
diff --git a/docs/GettingStarted.rst b/docs/GettingStarted.rst
index 3d2ec1e..6de9b90 100644
--- a/docs/GettingStarted.rst
+++ b/docs/GettingStarted.rst
@@ -87,9 +87,10 @@ Here's the short story for getting up and running quickly with LLVM:
* ``make check-all`` --- This run the regression tests to ensure everything
is in working order.
- * It is also possible to use CMake instead of the makefiles. With CMake it is
- possible to generate project files for several IDEs: Xcode, Eclipse CDT4,
- CodeBlocks, Qt-Creator (use the CodeBlocks generator), KDevelop3.
+ * It is also possible to use `CMake `_ instead of the makefiles.
+ With CMake it is possible to generate project files for several IDEs:
+ Xcode, Eclipse CDT4, CodeBlocks, Qt-Creator (use the CodeBlocks
+ generator), KDevelop3.
* If you get an "internal compiler error (ICE)" or test failures, see
`below`.
@@ -680,7 +681,7 @@ The following options can be used to set or enable LLVM specific options:
Enables optimized compilation (debugging symbols are removed and GCC
optimization flags are enabled). Note that this is the default setting if you
- are using the LLVM distribution. The default behavior of an Subversion
+ are using the LLVM distribution. The default behavior of a Subversion
checkout is to use an unoptimized build (also known as a debug build).
``--enable-debug-runtime``
@@ -698,14 +699,12 @@ The following options can be used to set or enable LLVM specific options:
Controls which targets will be built and linked into llc. The default value
for ``target_options`` is "all" which builds and links all available targets.
- The value "host-only" can be specified to build only a native compiler (no
- cross-compiler targets available). The "native" target is selected as the
- target of the build host. You can also specify a comma separated list of
- target names that you want available in llc. The target names use all lower
- case. The current set of targets is:
+ The "host" target is selected as the target of the build host. You can also
+ specify a comma separated list of target names that you want available in llc.
+ The target names use all lower case. The current set of targets is:
- ``arm, cpp, hexagon, mips, mipsel, msp430, powerpc, ptx, sparc, spu,
- systemz, x86, x86_64, xcore``.
+ ``aarch64, arm, arm64, cpp, hexagon, mips, mipsel, mips64, mips64el, msp430,
+ powerpc, nvptx, r600, sparc, systemz, x86, x86_64, xcore``.
``--enable-doxygen``
@@ -743,7 +742,7 @@ builds:
Debug Builds
- These builds are the default when one is using an Subversion checkout and
+ These builds are the default when one is using a Subversion checkout and
types ``gmake`` (unless the ``--enable-optimized`` option was used during
configuration). The build system will compile the tools and libraries with
debugging information. To get a Debug Build using the LLVM distribution the
diff --git a/docs/GettingStartedVS.rst b/docs/GettingStartedVS.rst
index aa980d2..d914cc1 100644
--- a/docs/GettingStartedVS.rst
+++ b/docs/GettingStartedVS.rst
@@ -99,6 +99,9 @@ Here's the short story for getting up and running quickly with LLVM:
build.
* See the :doc:`LLVM CMake guide ` for detailed information about
how to configure the LLVM build.
+ * CMake generates project files for all build types. To select a specific
+ build type, use the Configuration manager from the VS IDE or the
+ ``/property:Configuration`` command line option when using MSBuild.
6. Start Visual Studio
diff --git a/docs/LangRef.rst b/docs/LangRef.rst
index fa40363..cc9656a 100644
--- a/docs/LangRef.rst
+++ b/docs/LangRef.rst
@@ -117,8 +117,8 @@ And the hard way:
.. code-block:: llvm
- %0 = add i32 %X, %X ; yields {i32}:%0
- %1 = add i32 %0, %0 ; yields {i32}:%1
+ %0 = add i32 %X, %X ; yields i32:%0
+ %1 = add i32 %0, %0 ; yields i32:%1
%result = add i32 %1, %1
This last way of multiplying ``%X`` by 8 illustrates several important
@@ -464,6 +464,34 @@ DLL storage class:
exists for defining a dll interface, the compiler, assembler and linker know
it is externally referenced and must refrain from deleting the symbol.
+.. _tls_model:
+
+Thread Local Storage Models
+---------------------------
+
+A variable may be defined as ``thread_local``, which means that it will
+not be shared by threads (each thread will have a separated copy of the
+variable). Not all targets support thread-local variables. Optionally, a
+TLS model may be specified:
+
+``localdynamic``
+ For variables that are only used within the current shared library.
+``initialexec``
+ For variables in modules that will not be loaded dynamically.
+``localexec``
+ For variables defined in the executable and only used within it.
+
+If no explicit model is given, the "general dynamic" model is used.
+
+The models correspond to the ELF TLS models; see `ELF Handling For
+Thread-Local Storage `_ for
+more information on under which circumstances the different models may
+be used. The target may choose a different TLS model if the specified
+model is not supported, or if a better choice of model can be made.
+
+A model can also be specified in a alias, but then it only governs how
+the alias is accessed. It will not have any effect in the aliasee.
+
.. _namedtypes:
Structure Types
@@ -491,29 +519,13 @@ Global Variables
Global variables define regions of memory allocated at compilation time
instead of run-time.
-Global variables definitions must be initialized, may have an explicit section
-to be placed in, and may have an optional explicit alignment specified.
+Global variables definitions must be initialized.
Global variables in other translation units can also be declared, in which
case they don't have an initializer.
-A variable may be defined as ``thread_local``, which means that it will
-not be shared by threads (each thread will have a separated copy of the
-variable). Not all targets support thread-local variables. Optionally, a
-TLS model may be specified:
-
-``localdynamic``
- For variables that are only used within the current shared library.
-``initialexec``
- For variables in modules that will not be loaded dynamically.
-``localexec``
- For variables defined in the executable and only used within it.
-
-The models correspond to the ELF TLS models; see `ELF Handling For
-Thread-Local Storage `_ for
-more information on under which circumstances the different models may
-be used. The target may choose a different TLS model if the specified
-model is not supported, or if a better choice of model can be made.
+Either global variable definitions or declarations may have an explicit section
+to be placed in and may have an optional explicit alignment specified.
A variable may be defined as a global ``constant``, which indicates that
the contents of the variable will **never** be modified (enabling better
@@ -550,6 +562,8 @@ is zero. The address space qualifier must precede any other attributes.
LLVM allows an explicit section to be specified for globals. If the
target supports it, it will emit globals to the section specified.
+Additionally, the global can placed in a comdat if the target has the necessary
+support.
By default, global initializers are optimized by assuming that global
variables defined within the module are not modified from their
@@ -572,11 +586,14 @@ iteration.
Globals can also have a :ref:`DLL storage class `.
+Variables and aliasaes can have a
+:ref:`Thread Local Storage Model `.
+
Syntax::
[@ =] [Linkage] [Visibility] [DLLStorageClass] [ThreadLocal]
- [AddrSpace] [unnamed_addr] [ExternallyInitialized]
-
+ [unnamed_addr] [AddrSpace] [ExternallyInitialized]
+ []
[, section "name"] [, align ]
For example, the following defines a global in a numbered address space
@@ -612,8 +629,9 @@ an optional ``unnamed_addr`` attribute, a return type, an optional
:ref:`parameter attribute ` for the return type, a function
name, a (possibly empty) argument list (each with optional :ref:`parameter
attributes `), optional :ref:`function attributes `,
-an optional section, an optional alignment, an optional :ref:`garbage
-collector name `, an optional :ref:`prefix `, an opening
+an optional section, an optional alignment,
+an optional :ref:`comdat `,
+an optional :ref:`garbage collector name `, an optional :ref:`prefix `, an opening
curly brace, a list of basic blocks, and a closing curly brace.
LLVM function declarations consist of the "``declare``" keyword, an
@@ -643,6 +661,7 @@ predecessors, it also cannot have any :ref:`PHI nodes `.
LLVM allows an explicit section to be specified for functions. If the
target supports it, it will emit functions to the section specified.
+Additionally, the function can placed in a COMDAT.
An explicit alignment may be specified for a function. If not present,
or if the alignment is set to zero, the alignment of the function is set
@@ -658,37 +677,131 @@ Syntax::
define [linkage] [visibility] [DLLStorageClass]
[cconv] [ret attrs]
@ ([argument list])
- [unnamed_addr] [fn Attrs] [section "name"] [align N]
- [gc] [prefix Constant] { ... }
+ [unnamed_addr] [fn Attrs] [section "name"] [comdat $]
+ [align N] [gc] [prefix Constant] { ... }
.. _langref_aliases:
Aliases
-------
-Aliases act as "second name" for the aliasee value (which can be either
-function, global variable, another alias or bitcast of global value).
+Aliases, unlike function or variables, don't create any new data. They
+are just a new symbol and metadata for an existing position.
+
+Aliases have a name and an aliasee that is either a global value or a
+constant expression.
+
Aliases may have an optional :ref:`linkage type `, an optional
-:ref:`visibility style `, and an optional :ref:`DLL storage class
-`.
+:ref:`visibility style `, an optional :ref:`DLL storage class
+` and an optional :ref:`tls model `.
Syntax::
- @ = [Visibility] [DLLStorageClass] alias [Linkage] @
+ @ = [Visibility] [DLLStorageClass] [ThreadLocal] [unnamed_addr] alias [Linkage] @
The linkage must be one of ``private``, ``internal``, ``linkonce``, ``weak``,
``linkonce_odr``, ``weak_odr``, ``external``. Note that some system linkers
-might not correctly handle dropping a weak symbol that is aliased by a non-weak
-alias.
+might not correctly handle dropping a weak symbol that is aliased.
Alias that are not ``unnamed_addr`` are guaranteed to have the same address as
-the aliasee.
+the aliasee expression. ``unnamed_addr`` ones are only guaranteed to point
+to the same content.
+
+Since aliases are only a second name, some restrictions apply, of which
+some can only be checked when producing an object file:
+
+* The expression defining the aliasee must be computable at assembly
+ time. Since it is just a name, no relocations can be used.
+
+* No alias in the expression can be weak as the possibility of the
+ intermediate alias being overridden cannot be represented in an
+ object file.
-The aliasee must be a definition.
+* No global value in the expression can be a declaration, since that
+ would require a relocation, which is not possible.
-Aliases are not allowed to point to aliases with linkages that can be
-overridden. Since they are only a second name, the possibility of the
-intermediate alias being overridden cannot be represented in an object file.
+.. _langref_comdats:
+
+Comdats
+-------
+
+Comdat IR provides access to COFF and ELF object file COMDAT functionality.
+
+Comdats have a name which represents the COMDAT key. All global objects which
+specify this key will only end up in the final object file if the linker chooses
+that key over some other key. Aliases are placed in the same COMDAT that their
+aliasee computes to, if any.
+
+Comdats have a selection kind to provide input on how the linker should
+choose between keys in two different object files.
+
+Syntax::
+
+ $ = comdat SelectionKind
+
+The selection kind must be one of the following:
+
+``any``
+ The linker may choose any COMDAT key, the choice is arbitrary.
+``exactmatch``
+ The linker may choose any COMDAT key but the sections must contain the
+ same data.
+``largest``
+ The linker will choose the section containing the largest COMDAT key.
+``noduplicates``
+ The linker requires that only section with this COMDAT key exist.
+``samesize``
+ The linker may choose any COMDAT key but the sections must contain the
+ same amount of data.
+
+Note that the Mach-O platform doesn't support COMDATs and ELF only supports
+``any`` as a selection kind.
+
+Here is an example of a COMDAT group where a function will only be selected if
+the COMDAT key's section is the largest:
+
+.. code-block:: llvm
+
+ $foo = comdat largest
+ @foo = global i32 2, comdat $foo
+
+ define void @bar() comdat $foo {
+ ret void
+ }
+
+In a COFF object file, this will create a COMDAT section with selection kind
+``IMAGE_COMDAT_SELECT_LARGEST`` containing the contents of the ``@foo`` symbol
+and another COMDAT section with selection kind
+``IMAGE_COMDAT_SELECT_ASSOCIATIVE`` which is associated with the first COMDAT
+section and contains the contents of the ``@baz`` symbol.
+
+There are some restrictions on the properties of the global object.
+It, or an alias to it, must have the same name as the COMDAT group when
+targeting COFF.
+The contents and size of this object may be used during link-time to determine
+which COMDAT groups get selected depending on the selection kind.
+Because the name of the object must match the name of the COMDAT group, the
+linkage of the global object must not be local; local symbols can get renamed
+if a collision occurs in the symbol table.
+
+The combined use of COMDATS and section attributes may yield surprising results.
+For example:
+
+.. code-block:: llvm
+
+ $foo = comdat any
+ $bar = comdat any
+ @g1 = global i32 42, section "sec", comdat $foo
+ @g2 = global i32 42, section "sec", comdat $bar
+
+From the object file perspective, this requires the creation of two sections
+with the same name. This is necessary because both globals belong to different
+COMDAT groups and COMDATs, at the object file level, are represented by
+sections.
+
+Note that certain IR constructs like global variables and functions may create
+COMDATs in the object file in addition to any which are specified using COMDAT
+IR. This arises, for example, when a global variable has linkonce_odr linkage.
.. _namedmetadatastructure:
@@ -997,6 +1110,14 @@ example:
inlining this function is desirable (such as the "inline" keyword in
C/C++). It is just a hint; it imposes no requirements on the
inliner.
+``jumptable``
+ This attribute indicates that the function should be added to a
+ jump-instruction table at code-generation time, and that all address-taken
+ references to this function should be replaced with a reference to the
+ appropriate jump-instruction-table function pointer. Note that this creates
+ a new pointer for the original function, which means that code that depends
+ on function-pointer identity can break. So, any function annotated with
+ ``jumptable`` must also be ``unnamed_addr``.
``minsize``
This attribute suggests that optimization passes and code generator
passes make choices that keep the code size of this function as small
@@ -2715,11 +2836,12 @@ number representing the maximum relative error, for example:
'``range``' Metadata
^^^^^^^^^^^^^^^^^^^^
-``range`` metadata may be attached only to loads of integer types. It
-expresses the possible ranges the loaded value is in. The ranges are
-represented with a flattened list of integers. The loaded value is known
-to be in the union of the ranges defined by each consecutive pair. Each
-pair has the following properties:
+``range`` metadata may be attached only to ``load``, ``call`` and ``invoke`` of
+integer types. It expresses the possible ranges the loaded value or the value
+returned by the called function at this call site is in. The ranges are
+represented with a flattened list of integers. The loaded value or the value
+returned is known to be in the union of the ranges defined by each consecutive
+pair. Each pair has the following properties:
- The type must match the type loaded by the instruction.
- The pair ``a,b`` represents the range ``[a,b)``.
@@ -2737,8 +2859,9 @@ Examples:
%a = load i8* %x, align 1, !range !0 ; Can only be 0 or 1
%b = load i8* %y, align 1, !range !1 ; Can only be 255 (-1), 0 or 1
- %c = load i8* %z, align 1, !range !2 ; Can only be 0, 1, 3, 4 or 5
- %d = load i8* %z, align 1, !range !3 ; Can only be -2, -1, 3, 4 or 5
+ %c = call i8 @foo(), !range !2 ; Can only be 0, 1, 3, 4 or 5
+ %d = invoke i8 @bar() to label %cont
+ unwind label %lpad, !range !3 ; Can only be -2, -1, 3, 4 or 5
...
!0 = metadata !{ i8 0, i8 2 }
!1 = metadata !{ i8 255, i8 2 }
@@ -2768,7 +2891,7 @@ constructs:
The loop identifier metadata can be used to specify additional per-loop
metadata. Any operands after the first operand can be treated as user-defined
-metadata. For example the ``llvm.vectorizer.unroll`` metadata is understood
+metadata. For example the ``llvm.loop.vectorize.unroll`` metadata is understood
by the loop vectorizer to indicate how many times to unroll the loop:
.. code-block:: llvm
@@ -2776,7 +2899,7 @@ by the loop vectorizer to indicate how many times to unroll the loop:
br i1 %exitcond, label %._crit_edge, label %.lr.ph, !llvm.loop !0
...
!0 = metadata !{ metadata !0, metadata !1 }
- !1 = metadata !{ metadata !"llvm.vectorizer.unroll", i32 2 }
+ !1 = metadata !{ metadata !"llvm.loop.vectorize.unroll", i32 2 }
'``llvm.mem``'
^^^^^^^^^^^^^^^
@@ -2796,7 +2919,7 @@ with the same loop identifier.
Precisely, given two instructions ``m1`` and ``m2`` that both have the
``llvm.mem.parallel_loop_access`` metadata, with ``L1`` and ``L2`` being the
set of loops associated with that metadata, respectively, then there is no loop
-carried dependence between ``m1`` and ``m2`` for loops ``L1`` or
+carried dependence between ``m1`` and ``m2`` for loops in both ``L1`` and
``L2``.
As a special case, if all memory accessing instructions in a loop have
@@ -2861,54 +2984,54 @@ the loop identifier metadata node directly:
!1 = metadata !{ metadata !1 } ; an identifier for the inner loop
!2 = metadata !{ metadata !2 } ; an identifier for the outer loop
-'``llvm.vectorizer``'
-^^^^^^^^^^^^^^^^^^^^^
+'``llvm.loop.vectorize``'
+^^^^^^^^^^^^^^^^^^^^^^^^^
-Metadata prefixed with ``llvm.vectorizer`` is used to control per-loop
+Metadata prefixed with ``llvm.loop.vectorize`` is used to control per-loop
vectorization parameters such as vectorization factor and unroll factor.
-``llvm.vectorizer`` metadata should be used in conjunction with ``llvm.loop``
-loop identification metadata.
+``llvm.loop.vectorize`` metadata should be used in conjunction with
+``llvm.loop`` loop identification metadata.
-'``llvm.vectorizer.unroll``' Metadata
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+'``llvm.loop.vectorize.unroll``' Metadata
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This metadata instructs the loop vectorizer to unroll the specified
loop exactly ``N`` times.
-The first operand is the string ``llvm.vectorizer.unroll`` and the second
+The first operand is the string ``llvm.loop.vectorize.unroll`` and the second
operand is an integer specifying the unroll factor. For example:
.. code-block:: llvm
- !0 = metadata !{ metadata !"llvm.vectorizer.unroll", i32 4 }
+ !0 = metadata !{ metadata !"llvm.loop.vectorize.unroll", i32 4 }
-Note that setting ``llvm.vectorizer.unroll`` to 1 disables unrolling of the
-loop.
+Note that setting ``llvm.loop.vectorize.unroll`` to 1 disables
+unrolling of the loop.
-If ``llvm.vectorizer.unroll`` is set to 0 then the amount of unrolling will be
-determined automatically.
+If ``llvm.loop.vectorize.unroll`` is set to 0 then the amount of
+unrolling will be determined automatically.
-'``llvm.vectorizer.width``' Metadata
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+'``llvm.loop.vectorize.width``' Metadata
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This metadata sets the target width of the vectorizer to ``N``. Without
this metadata, the vectorizer will choose a width automatically.
Regardless of this metadata, the vectorizer will only vectorize loops if
it believes it is valid to do so.
-The first operand is the string ``llvm.vectorizer.width`` and the second
-operand is an integer specifying the width. For example:
+The first operand is the string ``llvm.loop.vectorize.width`` and the
+second operand is an integer specifying the width. For example:
.. code-block:: llvm
- !0 = metadata !{ metadata !"llvm.vectorizer.width", i32 4 }
+ !0 = metadata !{ metadata !"llvm.loop.vectorize.width", i32 4 }
-Note that setting ``llvm.vectorizer.width`` to 1 disables vectorization of the
-loop.
+Note that setting ``llvm.loop.vectorize.width`` to 1 disables
+vectorization of the loop.
-If ``llvm.vectorizer.width`` is set to 0 then the width will be determined
-automatically.
+If ``llvm.loop.vectorize.width`` is set to 0 then the width will be
+determined automatically.
Module Flags Metadata
=====================
@@ -3110,6 +3233,42 @@ Each individual option is required to be either a valid option for the target's
linker, or an option that is reserved by the target specific assembly writer or
object file emitter. No other aspect of these options is defined by the IR.
+C type width Module Flags Metadata
+----------------------------------
+
+The ARM backend emits a section into each generated object file describing the
+options that it was compiled with (in a compiler-independent way) to prevent
+linking incompatible objects, and to allow automatic library selection. Some
+of these options are not visible at the IR level, namely wchar_t width and enum
+width.
+
+To pass this information to the backend, these options are encoded in module
+flags metadata, using the following key-value pairs:
+
+.. list-table::
+ :header-rows: 1
+ :widths: 30 70
+
+ * - Key
+ - Value
+
+ * - short_wchar
+ - * 0 --- sizeof(wchar_t) == 4
+ * 1 --- sizeof(wchar_t) == 2
+
+ * - short_enum
+ - * 0 --- Enums are at least as large as an ``int``.
+ * 1 --- Enums are stored in the smallest integer type which can
+ represent all of its values.
+
+For example, the following metadata section specifies that the module was
+compiled with a ``wchar_t`` width of 4 bytes, and the underlying type of an
+enum is the smallest type which can represent all of its values::
+
+ !llvm.module.flags = !{!0, !1}
+ !0 = metadata !{i32 1, metadata !"short_wchar", i32 1}
+ !1 = metadata !{i32 1, metadata !"short_enum", i32 0}
+
.. _intrinsicglobalvariables:
Intrinsic Global Variables
@@ -3543,9 +3702,9 @@ Example:
.. code-block:: llvm
%retval = invoke i32 @Test(i32 15) to label %Continue
- unwind label %TestCleanup ; {i32}:retval set
+ unwind label %TestCleanup ; i32:retval set
%retval = invoke coldcc i32 %Testfnptr(i32 15) to label %Continue
- unwind label %TestCleanup ; {i32}:retval set
+ unwind label %TestCleanup ; i32:retval set
.. _i_resume:
@@ -3634,10 +3793,10 @@ Syntax:
::
- = add , ; yields {ty}:result
- = add nuw , ; yields {ty}:result
- = add nsw , ; yields {ty}:result
- = add nuw nsw , ; yields {ty}:result
+ = add , ; yields ty:result
+ = add nuw , ; yields ty:result
+ = add nsw , ; yields ty:result
+ = add nuw nsw , ; yields ty:result
Overview:
"""""""""
@@ -3673,7 +3832,7 @@ Example:
.. code-block:: llvm
- = add i32 4, %var ; yields {i32}:result = 4 + %var
+ = add i32 4, %var ; yields i32:result = 4 + %var
.. _i_fadd:
@@ -3685,7 +3844,7 @@ Syntax:
::
- = fadd [fast-math flags]* , ; yields {ty}:result
+ = fadd [fast-math flags]* , ; yields ty:result
Overview:
"""""""""
@@ -3712,7 +3871,7 @@ Example:
.. code-block:: llvm
- = fadd float 4.0, %var ; yields {float}:result = 4.0 + %var
+ = fadd float 4.0, %var ; yields float:result = 4.0 + %var
'``sub``' Instruction
^^^^^^^^^^^^^^^^^^^^^
@@ -3722,10 +3881,10 @@ Syntax:
::
- = sub , ; yields {ty}:result
- = sub nuw , ; yields {ty}:result
- = sub nsw , ; yields {ty}:result
- = sub nuw nsw , ; yields {ty}:result
+ = sub , ; yields ty:result
+ = sub nuw , ; yields ty:result
+ = sub nsw , ; yields ty:result
+ = sub nuw nsw , ; yields ty:result
Overview:
"""""""""
@@ -3764,8 +3923,8 @@ Example:
.. code-block:: llvm
- = sub i32 4, %var ; yields {i32}:result = 4 - %var
- = sub i32 0, %val ; yields {i32}:result = -%var
+ = sub i32 4, %var ; yields i32:result = 4 - %var
+ = sub i32 0, %val ; yields i32:result = -%var
.. _i_fsub:
@@ -3777,7 +3936,7 @@ Syntax:
::
- = fsub [fast-math flags]* , ; yields {ty}:result
+ = fsub [fast-math flags]* , ; yields ty:result
Overview:
"""""""""
@@ -3807,8 +3966,8 @@ Example:
.. code-block:: llvm
- = fsub float 4.0, %var ; yields {float}:result = 4.0 - %var
- = fsub float -0.0, %val ; yields {float}:result = -%var
+ = fsub float 4.0, %var ; yields float:result = 4.0 - %var
+ = fsub float -0.0, %val ; yields float:result = -%var
'``mul``' Instruction
^^^^^^^^^^^^^^^^^^^^^
@@ -3818,10 +3977,10 @@ Syntax:
::
- = mul , ; yields {ty}:result
- = mul nuw , ; yields {ty}:result
- = mul nsw , ; yields {ty}:result
- = mul nuw nsw , ; yields {ty}:result
+ = mul , ; yields ty:result
+ = mul nuw , ; yields ty:result
+ = mul nsw , ; yields ty:result
+ = mul nuw nsw , ; yields ty:result
Overview:
"""""""""
@@ -3861,7 +4020,7 @@ Example:
.. code-block:: llvm
- = mul i32 4, %var ; yields {i32}:result = 4 * %var
+ = mul i32 4, %var ; yields i32:result = 4 * %var
.. _i_fmul:
@@ -3873,7 +4032,7 @@ Syntax:
::
- = fmul [fast-math flags]* , ; yields {ty}:result
+ = fmul [fast-math flags]* , ; yields ty:result
Overview:
"""""""""
@@ -3900,7 +4059,7 @@ Example:
.. code-block:: llvm
- = fmul float 4.0, %var ; yields {float}:result = 4.0 * %var
+ = fmul float 4.0, %var ; yields float:result = 4.0 * %var
'``udiv``' Instruction
^^^^^^^^^^^^^^^^^^^^^^
@@ -3910,8 +4069,8 @@ Syntax:
::
- = udiv , ; yields {ty}:result
- = udiv exact , ; yields {ty}:result
+ = udiv , ; yields ty:result
+ = udiv exact , ; yields ty:result
Overview:
"""""""""
@@ -3944,7 +4103,7 @@ Example:
.. code-block:: llvm
- = udiv i32 4, %var ; yields {i32}:result = 4 / %var
+ = udiv i32 4, %var ; yields i32:result = 4 / %var
'``sdiv``' Instruction
^^^^^^^^^^^^^^^^^^^^^^
@@ -3954,8 +4113,8 @@ Syntax:
::
- = sdiv , ; yields {ty}:result
- = sdiv exact , ; yields {ty}:result
+ = sdiv , ; yields ty:result
+ = sdiv exact , ; yields ty:result
Overview:
"""""""""
@@ -3990,7 +4149,7 @@ Example:
.. code-block:: llvm
- = sdiv i32 4, %var ; yields {i32}:result = 4 / %var
+ = sdiv i32 4, %var ; yields i32:result = 4 / %var
.. _i_fdiv:
@@ -4002,7 +4161,7 @@ Syntax:
::
- = fdiv [fast-math flags]* , ; yields {ty}:result
+ = fdiv [fast-math flags]* , ; yields ty:result
Overview:
"""""""""
@@ -4029,7 +4188,7 @@ Example:
.. code-block:: llvm
- = fdiv float 4.0, %var ; yields {float}:result = 4.0 / %var
+ = fdiv float 4.0, %var ; yields float:result = 4.0 / %var
'``urem``' Instruction
^^^^^^^^^^^^^^^^^^^^^^
@@ -4039,7 +4198,7 @@ Syntax:
::
- = urem , ; yields {ty}:result
+ = urem , ; yields ty:result
Overview:
"""""""""
@@ -4071,7 +4230,7 @@ Example:
.. code-block:: llvm
- = urem i32 4, %var ; yields {i32}:result = 4 % %var
+ = urem i32 4, %var ; yields i32:result = 4 % %var
'``srem``' Instruction
^^^^^^^^^^^^^^^^^^^^^^
@@ -4081,7 +4240,7 @@ Syntax:
::
- = srem , ; yields {ty}:result
+ = srem , ; yields ty:result
Overview:
"""""""""
@@ -4126,7 +4285,7 @@ Example:
.. code-block:: llvm
- = srem i32 4, %var ; yields {i32}:result = 4 % %var
+ = srem i32 4, %var ; yields i32:result = 4 % %var
.. _i_frem:
@@ -4138,7 +4297,7 @@ Syntax:
::
- = frem [fast-math flags]* , ; yields {ty}:result
+ = frem [fast-math flags]* , ; yields ty:result
Overview:
"""""""""
@@ -4166,7 +4325,7 @@ Example:
.. code-block:: llvm
- = frem float 4.0, %var ; yields {float}:result = 4.0 % %var
+ = frem float 4.0, %var ; yields float:result = 4.0 % %var
.. _bitwiseops:
@@ -4187,10 +4346,10 @@ Syntax:
::
- = shl