aboutsummaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2020-01-17 20:45:01 +0000
committerDimitry Andric <dim@FreeBSD.org>2020-01-17 20:45:01 +0000
commit706b4fc47bbc608932d3b491ae19a3b9cde9497b (patch)
tree4adf86a776049cbf7f69a1929c4babcbbef925eb /llvm
parent7cc9cf2bf09f069cb2dd947ead05d0b54301fb71 (diff)
downloadsrc-706b4fc47bbc608932d3b491ae19a3b9cde9497b.tar.gz
src-706b4fc47bbc608932d3b491ae19a3b9cde9497b.zip
Vendor import of llvm-project master e26a78e70, the last commit beforevendor/llvm-project/llvmorg-10-init-17466-ge26a78e7085
the llvmorg-11-init tag, from which release/10.x was branched.
Notes
Notes: svn path=/vendor/llvm-project/master/; revision=356843 svn path=/vendor/llvm-project/llvmorg-10-init-17466-ge26a78e7085/; revision=356844; tag=vendor/llvm-project/llvmorg-10-init-17466-ge26a78e7085
Diffstat (limited to 'llvm')
-rw-r--r--llvm/include/llvm-c/Analysis.h9
-rw-r--r--llvm/include/llvm-c/BitReader.h9
-rw-r--r--llvm/include/llvm-c/BitWriter.h9
-rw-r--r--llvm/include/llvm-c/Comdat.h9
-rw-r--r--llvm/include/llvm-c/Core.h13
-rw-r--r--llvm/include/llvm-c/DebugInfo.h17
-rw-r--r--llvm/include/llvm-c/Disassembler.h9
-rw-r--r--llvm/include/llvm-c/Error.h10
-rw-r--r--llvm/include/llvm-c/ErrorHandling.h10
-rw-r--r--llvm/include/llvm-c/ExecutionEngine.h9
-rw-r--r--llvm/include/llvm-c/ExternC.h39
-rw-r--r--llvm/include/llvm-c/IRReader.h9
-rw-r--r--llvm/include/llvm-c/Initialization.h9
-rw-r--r--llvm/include/llvm-c/LinkTimeOptimizer.h10
-rw-r--r--llvm/include/llvm-c/Linker.h9
-rw-r--r--llvm/include/llvm-c/Object.h9
-rw-r--r--llvm/include/llvm-c/OrcBindings.h9
-rw-r--r--llvm/include/llvm-c/Remarks.h8
-rw-r--r--llvm/include/llvm-c/Support.h9
-rw-r--r--llvm/include/llvm-c/Target.h9
-rw-r--r--llvm/include/llvm-c/TargetMachine.h10
-rw-r--r--llvm/include/llvm-c/Transforms/AggressiveInstCombine.h9
-rw-r--r--llvm/include/llvm-c/Transforms/Coroutines.h17
-rw-r--r--llvm/include/llvm-c/Transforms/IPO.h9
-rw-r--r--llvm/include/llvm-c/Transforms/InstCombine.h9
-rw-r--r--llvm/include/llvm-c/Transforms/PassManagerBuilder.h9
-rw-r--r--llvm/include/llvm-c/Transforms/Scalar.h9
-rw-r--r--llvm/include/llvm-c/Transforms/Utils.h9
-rw-r--r--llvm/include/llvm-c/Transforms/Vectorize.h9
-rw-r--r--llvm/include/llvm-c/Types.h9
-rw-r--r--llvm/include/llvm-c/lto.h25
-rw-r--r--llvm/include/llvm/ADT/APFloat.h19
-rw-r--r--llvm/include/llvm/ADT/APInt.h71
-rw-r--r--llvm/include/llvm/ADT/ArrayRef.h10
-rw-r--r--llvm/include/llvm/ADT/BitVector.h32
-rw-r--r--llvm/include/llvm/ADT/DenseMap.h16
-rw-r--r--llvm/include/llvm/ADT/DirectedGraph.h3
-rw-r--r--llvm/include/llvm/ADT/EnumeratedArray.h48
-rw-r--r--llvm/include/llvm/ADT/FloatingPointMode.h62
-rw-r--r--llvm/include/llvm/ADT/FoldingSet.h10
-rw-r--r--llvm/include/llvm/ADT/Hashing.h7
-rw-r--r--llvm/include/llvm/ADT/ImmutableSet.h3
-rw-r--r--llvm/include/llvm/ADT/Optional.h16
-rw-r--r--llvm/include/llvm/ADT/PointerUnion.h12
-rw-r--r--llvm/include/llvm/ADT/SCCIterator.h5
-rw-r--r--llvm/include/llvm/ADT/STLExtras.h55
-rw-r--r--llvm/include/llvm/ADT/SmallPtrSet.h26
-rw-r--r--llvm/include/llvm/ADT/SmallSet.h25
-rw-r--r--llvm/include/llvm/ADT/SmallVector.h11
-rw-r--r--llvm/include/llvm/ADT/Statistic.h2
-rw-r--r--llvm/include/llvm/ADT/StringRef.h11
-rw-r--r--llvm/include/llvm/ADT/Triple.h21
-rw-r--r--llvm/include/llvm/ADT/Twine.h4
-rw-r--r--llvm/include/llvm/ADT/iterator.h5
-rw-r--r--llvm/include/llvm/ADT/iterator_range.h5
-rw-r--r--llvm/include/llvm/Analysis/AliasAnalysis.h9
-rw-r--r--llvm/include/llvm/Analysis/AliasSetTracker.h4
-rw-r--r--llvm/include/llvm/Analysis/BranchProbabilityInfo.h14
-rw-r--r--llvm/include/llvm/Analysis/DDG.h97
-rw-r--r--llvm/include/llvm/Analysis/DependenceAnalysis.h11
-rw-r--r--llvm/include/llvm/Analysis/DependenceGraphBuilder.h61
-rw-r--r--llvm/include/llvm/Analysis/GlobalsModRef.h3
-rw-r--r--llvm/include/llvm/Analysis/GuardUtils.h10
-rw-r--r--llvm/include/llvm/Analysis/InstructionSimplify.h4
-rw-r--r--llvm/include/llvm/Analysis/IntervalPartition.h4
-rw-r--r--llvm/include/llvm/Analysis/LazyValueInfo.h4
-rw-r--r--llvm/include/llvm/Analysis/LegacyDivergenceAnalysis.h8
-rw-r--r--llvm/include/llvm/Analysis/LoopAccessAnalysis.h18
-rw-r--r--llvm/include/llvm/Analysis/LoopInfo.h17
-rw-r--r--llvm/include/llvm/Analysis/LoopInfoImpl.h6
-rw-r--r--llvm/include/llvm/Analysis/LoopPass.h4
-rw-r--r--llvm/include/llvm/Analysis/MemorySSA.h9
-rw-r--r--llvm/include/llvm/Analysis/MustExecute.h55
-rw-r--r--llvm/include/llvm/Analysis/PhiValues.h2
-rw-r--r--llvm/include/llvm/Analysis/PostDominators.h11
-rw-r--r--llvm/include/llvm/Analysis/PtrUseVisitor.h4
-rw-r--r--llvm/include/llvm/Analysis/ScalarEvolution.h69
-rw-r--r--llvm/include/llvm/Analysis/TargetLibraryInfo.h102
-rw-r--r--llvm/include/llvm/Analysis/TargetTransformInfo.h124
-rw-r--r--llvm/include/llvm/Analysis/TargetTransformInfoImpl.h34
-rw-r--r--llvm/include/llvm/Analysis/Utils/Local.h27
-rw-r--r--llvm/include/llvm/Analysis/ValueTracking.h14
-rw-r--r--llvm/include/llvm/Analysis/VecFuncs.def11
-rw-r--r--llvm/include/llvm/Analysis/VectorUtils.h64
-rw-r--r--llvm/include/llvm/BinaryFormat/COFF.h10
-rw-r--r--llvm/include/llvm/BinaryFormat/Dwarf.def5
-rw-r--r--llvm/include/llvm/BinaryFormat/Dwarf.h4
-rw-r--r--llvm/include/llvm/BinaryFormat/ELF.h5
-rw-r--r--llvm/include/llvm/BinaryFormat/MinidumpConstants.def31
-rw-r--r--llvm/include/llvm/BinaryFormat/Wasm.h2
-rw-r--r--llvm/include/llvm/BinaryFormat/XCOFF.h3
-rw-r--r--llvm/include/llvm/Bitcode/BitcodeWriter.h6
-rw-r--r--llvm/include/llvm/Bitcode/LLVMBitCodes.h1
-rw-r--r--llvm/include/llvm/Bitstream/BitstreamReader.h2
-rw-r--r--llvm/include/llvm/CodeGen/AsmPrinter.h15
-rw-r--r--llvm/include/llvm/CodeGen/BasicTTIImpl.h32
-rw-r--r--llvm/include/llvm/CodeGen/CommandFlags.inc107
-rw-r--r--llvm/include/llvm/CodeGen/DFAPacketizer.h45
-rw-r--r--llvm/include/llvm/CodeGen/DIE.h2
-rw-r--r--llvm/include/llvm/CodeGen/FastISel.h5
-rw-r--r--llvm/include/llvm/CodeGen/FaultMaps.h3
-rw-r--r--llvm/include/llvm/CodeGen/FunctionLoweringInfo.h2
-rw-r--r--llvm/include/llvm/CodeGen/GlobalISel/CSEInfo.h4
-rw-r--r--llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h2
-rw-r--r--llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h21
-rw-r--r--llvm/include/llvm/CodeGen/GlobalISel/GISelKnownBits.h4
-rw-r--r--llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h3
-rw-r--r--llvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h15
-rw-r--r--llvm/include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h38
-rw-r--r--llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h249
-rw-r--r--llvm/include/llvm/CodeGen/GlobalISel/Legalizer.h15
-rw-r--r--llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h4
-rw-r--r--llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h12
-rw-r--r--llvm/include/llvm/CodeGen/GlobalISel/Localizer.h5
-rw-r--r--llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h46
-rw-r--r--llvm/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h5
-rw-r--r--llvm/include/llvm/CodeGen/GlobalISel/Utils.h5
-rw-r--r--llvm/include/llvm/CodeGen/ISDOpcodes.h45
-rw-r--r--llvm/include/llvm/CodeGen/LiveInterval.h27
-rw-r--r--llvm/include/llvm/CodeGen/LiveIntervalUnion.h1
-rw-r--r--llvm/include/llvm/CodeGen/LiveIntervals.h2
-rw-r--r--llvm/include/llvm/CodeGen/LivePhysRegs.h3
-rw-r--r--llvm/include/llvm/CodeGen/LiveRegUnits.h13
-rw-r--r--llvm/include/llvm/CodeGen/LiveStacks.h1
-rw-r--r--llvm/include/llvm/CodeGen/LiveVariables.h1
-rw-r--r--llvm/include/llvm/CodeGen/LowLevelType.h9
-rw-r--r--llvm/include/llvm/CodeGen/MIRFormatter.h83
-rw-r--r--llvm/include/llvm/CodeGen/MIRParser/MIParser.h4
-rw-r--r--llvm/include/llvm/CodeGen/MIRParser/MIRParser.h14
-rw-r--r--llvm/include/llvm/CodeGen/MachineBlockFrequencyInfo.h3
-rw-r--r--llvm/include/llvm/CodeGen/MachineBranchProbabilityInfo.h5
-rw-r--r--llvm/include/llvm/CodeGen/MachineCombinerPattern.h45
-rw-r--r--llvm/include/llvm/CodeGen/MachineDominators.h5
-rw-r--r--llvm/include/llvm/CodeGen/MachineFrameInfo.h2
-rw-r--r--llvm/include/llvm/CodeGen/MachineFunction.h54
-rw-r--r--llvm/include/llvm/CodeGen/MachineInstr.h67
-rw-r--r--llvm/include/llvm/CodeGen/MachineInstrBuilder.h2
-rw-r--r--llvm/include/llvm/CodeGen/MachineInstrBundle.h255
-rw-r--r--llvm/include/llvm/CodeGen/MachineLoopInfo.h8
-rw-r--r--llvm/include/llvm/CodeGen/MachineLoopUtils.h5
-rw-r--r--llvm/include/llvm/CodeGen/MachineMemOperand.h2
-rw-r--r--llvm/include/llvm/CodeGen/MachineOperand.h19
-rw-r--r--llvm/include/llvm/CodeGen/MachineOptimizationRemarkEmitter.h4
-rw-r--r--llvm/include/llvm/CodeGen/MachineOutliner.h12
-rw-r--r--llvm/include/llvm/CodeGen/MachinePipeliner.h1
-rw-r--r--llvm/include/llvm/CodeGen/MachineScheduler.h19
-rw-r--r--llvm/include/llvm/CodeGen/MachineSizeOpts.h39
-rw-r--r--llvm/include/llvm/CodeGen/ModuloSchedule.h17
-rw-r--r--llvm/include/llvm/CodeGen/NonRelocatableStringpool.h83
-rw-r--r--llvm/include/llvm/CodeGen/ParallelCG.h2
-rw-r--r--llvm/include/llvm/CodeGen/Passes.h12
-rw-r--r--llvm/include/llvm/CodeGen/PseudoSourceValue.h2
-rw-r--r--llvm/include/llvm/CodeGen/ReachingDefAnalysis.h44
-rw-r--r--llvm/include/llvm/CodeGen/RegisterUsageInfo.h1
-rw-r--r--llvm/include/llvm/CodeGen/SelectionDAG.h87
-rw-r--r--llvm/include/llvm/CodeGen/SelectionDAGISel.h14
-rw-r--r--llvm/include/llvm/CodeGen/SelectionDAGNodes.h120
-rw-r--r--llvm/include/llvm/CodeGen/SlotIndexes.h9
-rw-r--r--llvm/include/llvm/CodeGen/StackMaps.h24
-rw-r--r--llvm/include/llvm/CodeGen/StackProtector.h4
-rw-r--r--llvm/include/llvm/CodeGen/SwitchLoweringUtils.h5
-rw-r--r--llvm/include/llvm/CodeGen/TailDuplicator.h6
-rw-r--r--llvm/include/llvm/CodeGen/TargetCallingConv.h8
-rw-r--r--llvm/include/llvm/CodeGen/TargetFrameLowering.h13
-rw-r--r--llvm/include/llvm/CodeGen/TargetInstrInfo.h88
-rw-r--r--llvm/include/llvm/CodeGen/TargetLowering.h298
-rw-r--r--llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h9
-rw-r--r--llvm/include/llvm/CodeGen/TargetSchedule.h8
-rw-r--r--llvm/include/llvm/CodeGen/TargetSubtargetInfo.h4
-rw-r--r--llvm/include/llvm/CodeGen/ValueTypes.h30
-rw-r--r--llvm/include/llvm/DWARFLinker/DWARFLinker.h198
-rw-r--r--llvm/include/llvm/DWARFLinker/DWARFLinkerCompileUnit.h330
-rw-r--r--llvm/include/llvm/DWARFLinker/DWARFLinkerDeclContext.h169
-rw-r--r--llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h2
-rw-r--r--llvm/include/llvm/DebugInfo/CodeView/SymbolRecord.h28
-rw-r--r--llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h52
-rw-r--r--llvm/include/llvm/DebugInfo/CodeView/TypeRecordHelpers.h37
-rw-r--r--llvm/include/llvm/DebugInfo/DWARF/DWARFAddressRange.h18
-rw-r--r--llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h10
-rw-r--r--llvm/include/llvm/DebugInfo/DWARF/DWARFDataExtractor.h2
-rw-r--r--llvm/include/llvm/DebugInfo/DWARF/DWARFDebugAranges.h8
-rw-r--r--llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h17
-rw-r--r--llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h153
-rw-r--r--llvm/include/llvm/DebugInfo/DWARF/DWARFDebugMacro.h4
-rw-r--r--llvm/include/llvm/DebugInfo/DWARF/DWARFDebugRnglists.h6
-rw-r--r--llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h5
-rw-r--r--llvm/include/llvm/DebugInfo/DWARF/DWARFLocationExpression.h49
-rw-r--r--llvm/include/llvm/DebugInfo/DWARF/DWARFObject.h2
-rw-r--r--llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h44
-rw-r--r--llvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h31
-rw-r--r--llvm/include/llvm/DebugInfo/GSYM/GsymCreator.h6
-rw-r--r--llvm/include/llvm/DebugInfo/GSYM/GsymReader.h56
-rw-r--r--llvm/include/llvm/DebugInfo/GSYM/InlineInfo.h49
-rw-r--r--llvm/include/llvm/DebugInfo/GSYM/LineTable.h21
-rw-r--r--llvm/include/llvm/DebugInfo/GSYM/LookupResult.h61
-rw-r--r--llvm/include/llvm/DebugInfo/GSYM/Range.h18
-rw-r--r--llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptor.h6
-rw-r--r--llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleList.h1
-rw-r--r--llvm/include/llvm/DebugInfo/PDB/Native/HashTable.h1
-rw-r--r--llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h5
-rw-r--r--llvm/include/llvm/Demangle/ItaniumDemangle.h82
-rw-r--r--llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h4
-rw-r--r--llvm/include/llvm/Demangle/Utility.h8
-rw-r--r--llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h427
-rw-r--r--llvm/include/llvm/ExecutionEngine/JITSymbol.h18
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/Core.h399
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/DebugUtils.h58
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h28
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h2
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h23
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h4
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h4
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h6
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/OrcABISupport.h76
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/OrcError.h2
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h4
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/RPC/RPCSerialization.h (renamed from llvm/include/llvm/ExecutionEngine/Orc/RPCSerialization.h)4
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/RPC/RPCUtils.h (renamed from llvm/include/llvm/ExecutionEngine/Orc/RPCUtils.h)2
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/RPC/RawByteChannel.h (renamed from llvm/include/llvm/ExecutionEngine/Orc/RawByteChannel.h)4
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h2
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/Speculation.h35
-rw-r--r--llvm/include/llvm/Frontend/OpenMP/OMPConstants.h109
-rw-r--r--llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h250
-rw-r--r--llvm/include/llvm/Frontend/OpenMP/OMPKinds.def289
-rw-r--r--llvm/include/llvm/IR/Argument.h5
-rw-r--r--llvm/include/llvm/IR/Attributes.td1
-rw-r--r--llvm/include/llvm/IR/AutoUpgrade.h5
-rw-r--r--llvm/include/llvm/IR/CallSite.h35
-rw-r--r--llvm/include/llvm/IR/CallingConv.h6
-rw-r--r--llvm/include/llvm/IR/Constant.h18
-rw-r--r--llvm/include/llvm/IR/ConstantRange.h30
-rw-r--r--llvm/include/llvm/IR/Constants.h9
-rw-r--r--llvm/include/llvm/IR/ConstrainedOps.def86
-rw-r--r--llvm/include/llvm/IR/DIBuilder.h18
-rw-r--r--llvm/include/llvm/IR/DebugInfoFlags.def7
-rw-r--r--llvm/include/llvm/IR/DebugInfoMetadata.h125
-rw-r--r--llvm/include/llvm/IR/Dominators.h4
-rw-r--r--llvm/include/llvm/IR/FPEnv.h70
-rw-r--r--llvm/include/llvm/IR/Function.h10
-rw-r--r--llvm/include/llvm/IR/GlobalValue.h2
-rw-r--r--llvm/include/llvm/IR/IRBuilder.h343
-rw-r--r--llvm/include/llvm/IR/IRPrintingPasses.h6
-rw-r--r--llvm/include/llvm/IR/InstVisitor.h1
-rw-r--r--llvm/include/llvm/IR/InstrTypes.h34
-rw-r--r--llvm/include/llvm/IR/Instruction.def3
-rw-r--r--llvm/include/llvm/IR/Instruction.h2
-rw-r--r--llvm/include/llvm/IR/Instructions.h71
-rw-r--r--llvm/include/llvm/IR/IntrinsicInst.h126
-rw-r--r--llvm/include/llvm/IR/Intrinsics.h11
-rw-r--r--llvm/include/llvm/IR/Intrinsics.td92
-rw-r--r--llvm/include/llvm/IR/IntrinsicsAArch64.td854
-rw-r--r--llvm/include/llvm/IR/IntrinsicsAMDGPU.td2
-rw-r--r--llvm/include/llvm/IR/IntrinsicsARM.td350
-rw-r--r--llvm/include/llvm/IR/IntrinsicsNVVM.td57
-rw-r--r--llvm/include/llvm/IR/IntrinsicsRISCV.td90
-rw-r--r--llvm/include/llvm/IR/IntrinsicsWebAssembly.td9
-rw-r--r--llvm/include/llvm/IR/LLVMContext.h10
-rw-r--r--llvm/include/llvm/IR/LegacyPassManager.h2
-rw-r--r--llvm/include/llvm/IR/LegacyPassManagers.h5
-rw-r--r--llvm/include/llvm/IR/Metadata.h29
-rw-r--r--llvm/include/llvm/IR/Module.h39
-rw-r--r--llvm/include/llvm/IR/ModuleSummaryIndex.h51
-rw-r--r--llvm/include/llvm/IR/NoFolder.h2
-rw-r--r--llvm/include/llvm/IR/Operator.h9
-rw-r--r--llvm/include/llvm/IR/PassManager.h15
-rw-r--r--llvm/include/llvm/IR/PatternMatch.h67
-rw-r--r--llvm/include/llvm/IR/RemarkStreamer.h2
-rw-r--r--llvm/include/llvm/IR/RuntimeLibcalls.def6
-rw-r--r--llvm/include/llvm/IR/ValueHandle.h20
-rw-r--r--llvm/include/llvm/InitializePasses.h9
-rw-r--r--llvm/include/llvm/LTO/Config.h15
-rw-r--r--llvm/include/llvm/LTO/LTO.h7
-rw-r--r--llvm/include/llvm/LTO/LTOBackend.h6
-rw-r--r--llvm/include/llvm/LTO/legacy/LTOCodeGenerator.h10
-rw-r--r--llvm/include/llvm/LinkAllPasses.h3
-rw-r--r--llvm/include/llvm/MC/MCAsmBackend.h49
-rw-r--r--llvm/include/llvm/MC/MCAsmInfo.h9
-rw-r--r--llvm/include/llvm/MC/MCAsmInfoELF.h4
-rw-r--r--llvm/include/llvm/MC/MCAsmInfoXCOFF.h6
-rw-r--r--llvm/include/llvm/MC/MCAssembler.h5
-rw-r--r--llvm/include/llvm/MC/MCCodeEmitter.h6
-rw-r--r--llvm/include/llvm/MC/MCCodePadder.h241
-rw-r--r--llvm/include/llvm/MC/MCDisassembler/MCDisassembler.h4
-rw-r--r--llvm/include/llvm/MC/MCDwarf.h2
-rw-r--r--llvm/include/llvm/MC/MCELFStreamer.h5
-rw-r--r--llvm/include/llvm/MC/MCFragment.h245
-rw-r--r--llvm/include/llvm/MC/MCInst.h5
-rw-r--r--llvm/include/llvm/MC/MCInstPrinter.h53
-rw-r--r--llvm/include/llvm/MC/MCInstrDesc.h24
-rw-r--r--llvm/include/llvm/MC/MCMachObjectWriter.h4
-rw-r--r--llvm/include/llvm/MC/MCObjectFileInfo.h187
-rw-r--r--llvm/include/llvm/MC/MCObjectStreamer.h28
-rw-r--r--llvm/include/llvm/MC/MCParser/AsmCond.h2
-rw-r--r--llvm/include/llvm/MC/MCParser/MCParsedAsmOperand.h8
-rw-r--r--llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h50
-rw-r--r--llvm/include/llvm/MC/MCRegisterInfo.h110
-rw-r--r--llvm/include/llvm/MC/MCSection.h34
-rw-r--r--llvm/include/llvm/MC/MCSectionXCOFF.h14
-rw-r--r--llvm/include/llvm/MC/MCStreamer.h25
-rw-r--r--llvm/include/llvm/MC/MCSymbol.h10
-rw-r--r--llvm/include/llvm/MC/MCSymbolWasm.h6
-rw-r--r--llvm/include/llvm/MC/MCSymbolXCOFF.h14
-rw-r--r--llvm/include/llvm/MC/MCTargetOptions.h1
-rw-r--r--llvm/include/llvm/MC/MCTargetOptionsCommandFlags.inc3
-rw-r--r--llvm/include/llvm/MC/MCXCOFFStreamer.h3
-rw-r--r--llvm/include/llvm/Object/ELF.h22
-rw-r--r--llvm/include/llvm/Object/ELFObjectFile.h2
-rw-r--r--llvm/include/llvm/Object/MachO.h2
-rw-r--r--llvm/include/llvm/Object/ObjectFile.h2
-rw-r--r--llvm/include/llvm/Object/Wasm.h1
-rw-r--r--llvm/include/llvm/Object/XCOFFObjectFile.h27
-rw-r--r--llvm/include/llvm/ObjectYAML/DWARFYAML.h2
-rw-r--r--llvm/include/llvm/ObjectYAML/ELFYAML.h260
-rw-r--r--llvm/include/llvm/ObjectYAML/YAML.h3
-rw-r--r--llvm/include/llvm/Pass.h53
-rw-r--r--llvm/include/llvm/Passes/PassBuilder.h17
-rw-r--r--llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h2
-rw-r--r--llvm/include/llvm/ProfileData/InstrProf.h2
-rw-r--r--llvm/include/llvm/ProfileData/InstrProfData.inc6
-rw-r--r--llvm/include/llvm/ProfileData/SampleProf.h5
-rw-r--r--llvm/include/llvm/ProfileData/SampleProfReader.h9
-rw-r--r--llvm/include/llvm/ProfileData/SampleProfWriter.h4
-rw-r--r--llvm/include/llvm/Remarks/Remark.h36
-rw-r--r--llvm/include/llvm/Remarks/RemarkFormat.h3
-rw-r--r--llvm/include/llvm/Remarks/RemarkLinker.h100
-rw-r--r--llvm/include/llvm/Support/AArch64TargetParser.def22
-rw-r--r--llvm/include/llvm/Support/AArch64TargetParser.h9
-rw-r--r--llvm/include/llvm/Support/AMDGPUMetadata.h1
-rw-r--r--llvm/include/llvm/Support/ARMTargetParser.def2
-rw-r--r--llvm/include/llvm/Support/Allocator.h2
-rw-r--r--llvm/include/llvm/Support/Automaton.h12
-rw-r--r--llvm/include/llvm/Support/BinaryStreamArray.h11
-rw-r--r--llvm/include/llvm/Support/BinaryStreamReader.h4
-rw-r--r--llvm/include/llvm/Support/BinaryStreamRef.h6
-rw-r--r--llvm/include/llvm/Support/CodeGen.h9
-rw-r--r--llvm/include/llvm/Support/CommandLine.h126
-rw-r--r--llvm/include/llvm/Support/Compiler.h26
-rw-r--r--llvm/include/llvm/Support/CrashRecoveryContext.h16
-rw-r--r--llvm/include/llvm/Support/DataExtractor.h7
-rw-r--r--llvm/include/llvm/Support/Error.h16
-rw-r--r--llvm/include/llvm/Support/FileCheck.h1
-rw-r--r--llvm/include/llvm/Support/FileCollector.h6
-rw-r--r--llvm/include/llvm/Support/FileOutputBuffer.h4
-rw-r--r--llvm/include/llvm/Support/FormatVariadic.h2
-rw-r--r--llvm/include/llvm/Support/GenericDomTree.h4
-rw-r--r--llvm/include/llvm/Support/InitLLVM.h11
-rw-r--r--llvm/include/llvm/Support/JSON.h7
-rw-r--r--llvm/include/llvm/Support/KnownBits.h15
-rw-r--r--llvm/include/llvm/Support/LineIterator.h10
-rw-r--r--llvm/include/llvm/Support/LockFileManager.h4
-rw-r--r--llvm/include/llvm/Support/LowLevelTypeImpl.h2
-rw-r--r--llvm/include/llvm/Support/MachineValueType.h98
-rw-r--r--llvm/include/llvm/Support/MathExtras.h5
-rw-r--r--llvm/include/llvm/Support/Memory.h11
-rw-r--r--llvm/include/llvm/Support/Options.h119
-rw-r--r--llvm/include/llvm/Support/Path.h43
-rw-r--r--llvm/include/llvm/Support/Signals.h36
-rw-r--r--llvm/include/llvm/Support/SourceMgr.h8
-rw-r--r--llvm/include/llvm/Support/SpecialCaseList.h8
-rw-r--r--llvm/include/llvm/Support/TargetOpcodes.def13
-rw-r--r--llvm/include/llvm/Support/TargetRegistry.h17
-rw-r--r--llvm/include/llvm/Support/Threading.h30
-rw-r--r--llvm/include/llvm/Support/TimeProfiler.h7
-rw-r--r--llvm/include/llvm/Support/Timer.h21
-rw-r--r--llvm/include/llvm/Support/TypeSize.h5
-rw-r--r--llvm/include/llvm/Support/VersionTuple.h7
-rw-r--r--llvm/include/llvm/Support/VirtualFileSystem.h26
-rw-r--r--llvm/include/llvm/Support/YAMLTraits.h7
-rw-r--r--llvm/include/llvm/Support/raw_ostream.h29
-rw-r--r--llvm/include/llvm/TableGen/Record.h10
-rw-r--r--llvm/include/llvm/Target/GenericOpcodes.td30
-rw-r--r--llvm/include/llvm/Target/GlobalISel/Combine.td49
-rw-r--r--llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td4
-rw-r--r--llvm/include/llvm/Target/GlobalISel/Target.td8
-rw-r--r--llvm/include/llvm/Target/Target.td7
-rw-r--r--llvm/include/llvm/Target/TargetCallingConv.td5
-rw-r--r--llvm/include/llvm/Target/TargetMachine.h9
-rw-r--r--llvm/include/llvm/Target/TargetOptions.h12
-rw-r--r--llvm/include/llvm/Target/TargetSelectionDAG.td36
-rw-r--r--llvm/include/llvm/Transforms/CFGuard.h26
-rw-r--r--llvm/include/llvm/Transforms/Coroutines.h8
-rw-r--r--llvm/include/llvm/Transforms/IPO/Attributor.h909
-rw-r--r--llvm/include/llvm/Transforms/IPO/FunctionImport.h2
-rw-r--r--llvm/include/llvm/Transforms/IPO/MergeFunctions.h32
-rw-r--r--llvm/include/llvm/Transforms/IPO/WholeProgramDevirt.h2
-rw-r--r--llvm/include/llvm/Transforms/InstCombine/InstCombine.h17
-rw-r--r--llvm/include/llvm/Transforms/InstCombine/InstCombineWorklist.h7
-rw-r--r--llvm/include/llvm/Transforms/Scalar.h17
-rw-r--r--llvm/include/llvm/Transforms/Scalar/ConstantHoisting.h2
-rw-r--r--llvm/include/llvm/Transforms/Scalar/GVN.h27
-rw-r--r--llvm/include/llvm/Transforms/Scalar/JumpThreading.h12
-rw-r--r--llvm/include/llvm/Transforms/Scalar/LICM.h1
-rw-r--r--llvm/include/llvm/Transforms/Scalar/LoopUnrollAndJamPass.h7
-rw-r--r--llvm/include/llvm/Transforms/Scalar/LoopUnrollPass.h1
-rw-r--r--llvm/include/llvm/Transforms/Scalar/LowerMatrixIntrinsics.h24
-rw-r--r--llvm/include/llvm/Transforms/Utils.h7
-rw-r--r--llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h4
-rw-r--r--llvm/include/llvm/Transforms/Utils/CodeMoverUtils.h56
-rw-r--r--llvm/include/llvm/Transforms/Utils/Debugify.h (renamed from llvm/tools/opt/Debugify.h)10
-rw-r--r--llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h13
-rw-r--r--llvm/include/llvm/Transforms/Utils/GuardUtils.h19
-rw-r--r--llvm/include/llvm/Transforms/Utils/InjectTLIMappings.h37
-rw-r--r--llvm/include/llvm/Transforms/Utils/Local.h4
-rw-r--r--llvm/include/llvm/Transforms/Utils/LoopUtils.h5
-rw-r--r--llvm/include/llvm/Transforms/Utils/ModuleUtils.h8
-rw-r--r--llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h1
-rw-r--r--llvm/include/llvm/Transforms/Utils/SizeOpts.h87
-rw-r--r--llvm/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h4
-rw-r--r--llvm/include/llvm/Transforms/Vectorize.h1
-rw-r--r--llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h1
-rw-r--r--llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h3
-rw-r--r--llvm/include/llvm/XRay/FDRRecords.h6
-rw-r--r--llvm/include/llvm/module.modulemap31
-rw-r--r--llvm/lib/Analysis/AliasAnalysis.cpp15
-rw-r--r--llvm/lib/Analysis/AliasAnalysisEvaluator.cpp1
-rw-r--r--llvm/lib/Analysis/AliasSetTracker.cpp1
-rw-r--r--llvm/lib/Analysis/AssumptionCache.cpp1
-rw-r--r--llvm/lib/Analysis/BasicAliasAnalysis.cpp8
-rw-r--r--llvm/lib/Analysis/BlockFrequencyInfo.cpp1
-rw-r--r--llvm/lib/Analysis/BranchProbabilityInfo.cpp140
-rw-r--r--llvm/lib/Analysis/CFGPrinter.cpp2
-rw-r--r--llvm/lib/Analysis/CFLAndersAliasAnalysis.cpp1
-rw-r--r--llvm/lib/Analysis/CFLSteensAliasAnalysis.cpp1
-rw-r--r--llvm/lib/Analysis/CallGraph.cpp3
-rw-r--r--llvm/lib/Analysis/CallPrinter.cpp1
-rw-r--r--llvm/lib/Analysis/ConstantFolding.cpp22
-rw-r--r--llvm/lib/Analysis/CostModel.cpp1
-rw-r--r--llvm/lib/Analysis/DDG.cpp112
-rw-r--r--llvm/lib/Analysis/Delinearization.cpp1
-rw-r--r--llvm/lib/Analysis/DemandedBits.cpp1
-rw-r--r--llvm/lib/Analysis/DependenceAnalysis.cpp64
-rw-r--r--llvm/lib/Analysis/DependenceGraphBuilder.cpp179
-rw-r--r--llvm/lib/Analysis/DomPrinter.cpp1
-rw-r--r--llvm/lib/Analysis/DomTreeUpdater.cpp4
-rw-r--r--llvm/lib/Analysis/DominanceFrontier.cpp1
-rw-r--r--llvm/lib/Analysis/GlobalsModRef.cpp20
-rw-r--r--llvm/lib/Analysis/GuardUtils.cpp75
-rw-r--r--llvm/lib/Analysis/IVDescriptors.cpp52
-rw-r--r--llvm/lib/Analysis/IVUsers.cpp1
-rw-r--r--llvm/lib/Analysis/IndirectCallPromotionAnalysis.cpp1
-rw-r--r--llvm/lib/Analysis/InlineCost.cpp906
-rw-r--r--llvm/lib/Analysis/InstCount.cpp1
-rw-r--r--llvm/lib/Analysis/InstructionPrecedenceTracking.cpp1
-rw-r--r--llvm/lib/Analysis/InstructionSimplify.cpp221
-rw-r--r--llvm/lib/Analysis/IntervalPartition.cpp5
-rw-r--r--llvm/lib/Analysis/LazyBlockFrequencyInfo.cpp1
-rw-r--r--llvm/lib/Analysis/LazyBranchProbabilityInfo.cpp1
-rw-r--r--llvm/lib/Analysis/LazyValueInfo.cpp65
-rw-r--r--llvm/lib/Analysis/LegacyDivergenceAnalysis.cpp7
-rw-r--r--llvm/lib/Analysis/Lint.cpp1
-rw-r--r--llvm/lib/Analysis/Loads.cpp9
-rw-r--r--llvm/lib/Analysis/LoopAccessAnalysis.cpp5
-rw-r--r--llvm/lib/Analysis/LoopCacheAnalysis.cpp10
-rw-r--r--llvm/lib/Analysis/LoopInfo.cpp13
-rw-r--r--llvm/lib/Analysis/LoopPass.cpp7
-rw-r--r--llvm/lib/Analysis/MemDepPrinter.cpp1
-rw-r--r--llvm/lib/Analysis/MemDerefPrinter.cpp1
-rw-r--r--llvm/lib/Analysis/MemoryBuiltins.cpp11
-rw-r--r--llvm/lib/Analysis/MemoryDependenceAnalysis.cpp3
-rw-r--r--llvm/lib/Analysis/MemoryLocation.cpp1
-rw-r--r--llvm/lib/Analysis/MemorySSA.cpp103
-rw-r--r--llvm/lib/Analysis/MemorySSAUpdater.cpp8
-rw-r--r--llvm/lib/Analysis/ModuleDebugInfoPrinter.cpp1
-rw-r--r--llvm/lib/Analysis/ModuleSummaryAnalysis.cpp9
-rw-r--r--llvm/lib/Analysis/MustExecute.cpp198
-rw-r--r--llvm/lib/Analysis/OptimizationRemarkEmitter.cpp1
-rw-r--r--llvm/lib/Analysis/PhiValues.cpp63
-rw-r--r--llvm/lib/Analysis/PostDominators.cpp29
-rw-r--r--llvm/lib/Analysis/ProfileSummaryInfo.cpp2
-rw-r--r--llvm/lib/Analysis/RegionInfo.cpp1
-rw-r--r--llvm/lib/Analysis/RegionPrinter.cpp1
-rw-r--r--llvm/lib/Analysis/ScalarEvolution.cpp285
-rw-r--r--llvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp1
-rw-r--r--llvm/lib/Analysis/ScalarEvolutionExpander.cpp4
-rw-r--r--llvm/lib/Analysis/ScopedNoAliasAA.cpp1
-rw-r--r--llvm/lib/Analysis/StackSafetyAnalysis.cpp2
-rw-r--r--llvm/lib/Analysis/TargetLibraryInfo.cpp49
-rw-r--r--llvm/lib/Analysis/TargetTransformInfo.cpp64
-rw-r--r--llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp18
-rw-r--r--llvm/lib/Analysis/VFABIDemangling.cpp38
-rw-r--r--llvm/lib/Analysis/ValueTracking.cpp223
-rw-r--r--llvm/lib/Analysis/VectorUtils.cpp67
-rw-r--r--llvm/lib/AsmParser/LLLexer.cpp5
-rw-r--r--llvm/lib/AsmParser/LLParser.cpp51
-rw-r--r--llvm/lib/AsmParser/LLParser.h1
-rw-r--r--llvm/lib/AsmParser/LLToken.h5
-rw-r--r--llvm/lib/BinaryFormat/AMDGPUMetadataVerifier.cpp1
-rw-r--r--llvm/lib/BinaryFormat/Dwarf.cpp15
-rw-r--r--llvm/lib/BinaryFormat/XCOFF.cpp34
-rw-r--r--llvm/lib/Bitcode/Reader/BitcodeReader.cpp49
-rw-r--r--llvm/lib/Bitcode/Reader/MetadataLoader.cpp2
-rw-r--r--llvm/lib/Bitcode/Writer/BitcodeWriter.cpp145
-rw-r--r--llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp1
-rw-r--r--llvm/lib/Bitstream/Reader/BitstreamReader.cpp38
-rw-r--r--llvm/lib/CodeGen/Analysis.cpp27
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp144
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp72
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp32
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h2
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DIE.cpp10
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp4
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h38
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DebugLocStream.cpp2
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DebugLocStream.h8
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp3
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp52
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h5
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp359
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h14
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp32
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h4
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfFile.cpp2
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfFile.h13
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp28
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/WinCFGuard.cpp61
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/WinCFGuard.h9
-rw-r--r--llvm/lib/CodeGen/AtomicExpandPass.cpp3
-rw-r--r--llvm/lib/CodeGen/BranchFolding.cpp174
-rw-r--r--llvm/lib/CodeGen/BranchFolding.h4
-rw-r--r--llvm/lib/CodeGen/BranchRelaxation.cpp1
-rw-r--r--llvm/lib/CodeGen/BreakFalseDeps.cpp4
-rw-r--r--llvm/lib/CodeGen/CFGuardLongjmp.cpp120
-rw-r--r--llvm/lib/CodeGen/CFIInstrInserter.cpp4
-rw-r--r--llvm/lib/CodeGen/CodeGen.cpp2
-rw-r--r--llvm/lib/CodeGen/CodeGenPrepare.cpp246
-rw-r--r--llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp16
-rw-r--r--llvm/lib/CodeGen/DFAPacketizer.cpp62
-rw-r--r--llvm/lib/CodeGen/DeadMachineInstructionElim.cpp10
-rw-r--r--llvm/lib/CodeGen/DwarfEHPrepare.cpp3
-rw-r--r--llvm/lib/CodeGen/EarlyIfConversion.cpp11
-rw-r--r--llvm/lib/CodeGen/EdgeBundles.cpp1
-rw-r--r--llvm/lib/CodeGen/ExpandMemCmp.cpp44
-rw-r--r--llvm/lib/CodeGen/ExpandPostRAPseudos.cpp1
-rw-r--r--llvm/lib/CodeGen/ExpandReductions.cpp46
-rw-r--r--llvm/lib/CodeGen/FEntryInserter.cpp1
-rw-r--r--llvm/lib/CodeGen/FaultMaps.cpp4
-rw-r--r--llvm/lib/CodeGen/FinalizeISel.cpp1
-rw-r--r--llvm/lib/CodeGen/FuncletLayout.cpp1
-rw-r--r--llvm/lib/CodeGen/GCMetadata.cpp3
-rw-r--r--llvm/lib/CodeGen/GCRootLowering.cpp1
-rw-r--r--llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp7
-rw-r--r--llvm/lib/CodeGen/GlobalISel/CallLowering.cpp6
-rw-r--r--llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp172
-rw-r--r--llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp74
-rw-r--r--llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp70
-rw-r--r--llvm/lib/CodeGen/GlobalISel/InstructionSelector.cpp2
-rw-r--r--llvm/lib/CodeGen/GlobalISel/Legalizer.cpp131
-rw-r--r--llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp248
-rw-r--r--llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp16
-rw-r--r--llvm/lib/CodeGen/GlobalISel/Localizer.cpp13
-rw-r--r--llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp19
-rw-r--r--llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp15
-rw-r--r--llvm/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp22
-rw-r--r--llvm/lib/CodeGen/GlobalISel/Utils.cpp17
-rw-r--r--llvm/lib/CodeGen/GlobalMerge.cpp1
-rw-r--r--llvm/lib/CodeGen/HardwareLoops.cpp115
-rw-r--r--llvm/lib/CodeGen/IfConversion.cpp11
-rw-r--r--llvm/lib/CodeGen/ImplicitNullChecks.cpp5
-rw-r--r--llvm/lib/CodeGen/IndirectBrExpandPass.cpp1
-rw-r--r--llvm/lib/CodeGen/InlineSpiller.cpp19
-rw-r--r--llvm/lib/CodeGen/InterleavedAccessPass.cpp1
-rw-r--r--llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp3
-rw-r--r--llvm/lib/CodeGen/IntrinsicLowering.cpp36
-rw-r--r--llvm/lib/CodeGen/LLVMTargetMachine.cpp4
-rw-r--r--llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp1
-rw-r--r--llvm/lib/CodeGen/LiveDebugValues.cpp659
-rw-r--r--llvm/lib/CodeGen/LiveDebugVariables.cpp226
-rw-r--r--llvm/lib/CodeGen/LiveInterval.cpp19
-rw-r--r--llvm/lib/CodeGen/LiveIntervals.cpp23
-rw-r--r--llvm/lib/CodeGen/LivePhysRegs.cpp30
-rw-r--r--llvm/lib/CodeGen/LiveRangeShrink.cpp1
-rw-r--r--llvm/lib/CodeGen/LiveRegMatrix.cpp1
-rw-r--r--llvm/lib/CodeGen/LiveRegUnits.cpp45
-rw-r--r--llvm/lib/CodeGen/LocalStackSlotAllocation.cpp1
-rw-r--r--llvm/lib/CodeGen/LowLevelType.cpp29
-rw-r--r--llvm/lib/CodeGen/LowerEmuTLS.cpp1
-rw-r--r--llvm/lib/CodeGen/MIRCanonicalizerPass.cpp63
-rw-r--r--llvm/lib/CodeGen/MIRNamerPass.cpp6
-rw-r--r--llvm/lib/CodeGen/MIRParser/MILexer.cpp10
-rw-r--r--llvm/lib/CodeGen/MIRParser/MILexer.h4
-rw-r--r--llvm/lib/CodeGen/MIRParser/MIParser.cpp326
-rw-r--r--llvm/lib/CodeGen/MIRParser/MIRParser.cpp45
-rw-r--r--llvm/lib/CodeGen/MIRPrinter.cpp35
-rw-r--r--llvm/lib/CodeGen/MIRPrintingPass.cpp2
-rw-r--r--llvm/lib/CodeGen/MIRVRegNamerUtils.cpp424
-rw-r--r--llvm/lib/CodeGen/MIRVRegNamerUtils.h98
-rw-r--r--llvm/lib/CodeGen/MachineBasicBlock.cpp11
-rw-r--r--llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp8
-rw-r--r--llvm/lib/CodeGen/MachineBlockPlacement.cpp84
-rw-r--r--llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp8
-rw-r--r--llvm/lib/CodeGen/MachineCSE.cpp1
-rw-r--r--llvm/lib/CodeGen/MachineCombiner.cpp24
-rw-r--r--llvm/lib/CodeGen/MachineCopyPropagation.cpp236
-rw-r--r--llvm/lib/CodeGen/MachineDominanceFrontier.cpp1
-rw-r--r--llvm/lib/CodeGen/MachineDominators.cpp7
-rw-r--r--llvm/lib/CodeGen/MachineFrameInfo.cpp8
-rw-r--r--llvm/lib/CodeGen/MachineFunction.cpp51
-rw-r--r--llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp1
-rw-r--r--llvm/lib/CodeGen/MachineInstr.cpp159
-rw-r--r--llvm/lib/CodeGen/MachineInstrBundle.cpp31
-rw-r--r--llvm/lib/CodeGen/MachineLICM.cpp63
-rw-r--r--llvm/lib/CodeGen/MachineLoopInfo.cpp12
-rw-r--r--llvm/lib/CodeGen/MachineLoopUtils.cpp12
-rw-r--r--llvm/lib/CodeGen/MachineModuleInfo.cpp14
-rw-r--r--llvm/lib/CodeGen/MachineOperand.cpp67
-rw-r--r--llvm/lib/CodeGen/MachineOptimizationRemarkEmitter.cpp1
-rw-r--r--llvm/lib/CodeGen/MachineOutliner.cpp148
-rw-r--r--llvm/lib/CodeGen/MachinePipeliner.cpp5
-rw-r--r--llvm/lib/CodeGen/MachinePostDominators.cpp1
-rw-r--r--llvm/lib/CodeGen/MachineRegionInfo.cpp1
-rw-r--r--llvm/lib/CodeGen/MachineScheduler.cpp68
-rw-r--r--llvm/lib/CodeGen/MachineSink.cpp208
-rw-r--r--llvm/lib/CodeGen/MachineSizeOpts.cpp122
-rw-r--r--llvm/lib/CodeGen/MachineTraceMetrics.cpp1
-rw-r--r--llvm/lib/CodeGen/MachineVerifier.cpp93
-rw-r--r--llvm/lib/CodeGen/MacroFusion.cpp27
-rw-r--r--llvm/lib/CodeGen/ModuloSchedule.cpp217
-rw-r--r--llvm/lib/CodeGen/NonRelocatableStringpool.cpp54
-rw-r--r--llvm/lib/CodeGen/OptimizePHIs.cpp1
-rw-r--r--llvm/lib/CodeGen/ParallelCG.cpp4
-rw-r--r--llvm/lib/CodeGen/PatchableFunction.cpp10
-rw-r--r--llvm/lib/CodeGen/PeepholeOptimizer.cpp1
-rw-r--r--llvm/lib/CodeGen/PostRAHazardRecognizer.cpp1
-rw-r--r--llvm/lib/CodeGen/PostRASchedulerList.cpp3
-rw-r--r--llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp29
-rw-r--r--llvm/lib/CodeGen/ProcessImplicitDefs.cpp1
-rw-r--r--llvm/lib/CodeGen/PrologEpilogInserter.cpp1
-rw-r--r--llvm/lib/CodeGen/ReachingDefAnalysis.cpp141
-rw-r--r--llvm/lib/CodeGen/RegAllocFast.cpp141
-rw-r--r--llvm/lib/CodeGen/RegAllocGreedy.cpp11
-rw-r--r--llvm/lib/CodeGen/RegUsageInfoCollector.cpp4
-rw-r--r--llvm/lib/CodeGen/RegisterClassInfo.cpp3
-rw-r--r--llvm/lib/CodeGen/RegisterCoalescer.cpp227
-rw-r--r--llvm/lib/CodeGen/RegisterScavenging.cpp5
-rw-r--r--llvm/lib/CodeGen/RenameIndependentSubregs.cpp1
-rw-r--r--llvm/lib/CodeGen/ResetMachineFunctionPass.cpp3
-rw-r--r--llvm/lib/CodeGen/SafeStack.cpp7
-rw-r--r--llvm/lib/CodeGen/ScalarizeMaskedMemIntrin.cpp15
-rw-r--r--llvm/lib/CodeGen/ScheduleDAGInstrs.cpp7
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp906
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/FastISel.cpp20
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp9
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp4
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp770
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp1388
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp458
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp65
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h35
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp9
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp1020
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp488
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp8
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp438
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp698
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h27
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp20
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp209
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp3
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp587
-rw-r--r--llvm/lib/CodeGen/ShadowStackGCLowering.cpp1
-rw-r--r--llvm/lib/CodeGen/ShrinkWrap.cpp1
-rw-r--r--llvm/lib/CodeGen/SjLjEHPrepare.cpp9
-rw-r--r--llvm/lib/CodeGen/SlotIndexes.cpp11
-rw-r--r--llvm/lib/CodeGen/SpillPlacement.cpp1
-rw-r--r--llvm/lib/CodeGen/StackColoring.cpp3
-rw-r--r--llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp1
-rw-r--r--llvm/lib/CodeGen/StackMaps.cpp24
-rw-r--r--llvm/lib/CodeGen/StackProtector.cpp5
-rw-r--r--llvm/lib/CodeGen/StackSlotColoring.cpp1
-rw-r--r--llvm/lib/CodeGen/SwitchLoweringUtils.cpp8
-rw-r--r--llvm/lib/CodeGen/TailDuplication.cpp16
-rw-r--r--llvm/lib/CodeGen/TailDuplicator.cpp17
-rw-r--r--llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp13
-rw-r--r--llvm/lib/CodeGen/TargetInstrInfo.cpp80
-rw-r--r--llvm/lib/CodeGen/TargetLoweringBase.cpp84
-rw-r--r--llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp61
-rw-r--r--llvm/lib/CodeGen/TargetOptionsImpl.cpp14
-rw-r--r--llvm/lib/CodeGen/TargetPassConfig.cpp11
-rw-r--r--llvm/lib/CodeGen/TargetSubtargetInfo.cpp4
-rw-r--r--llvm/lib/CodeGen/TwoAddressInstructionPass.cpp2
-rw-r--r--llvm/lib/CodeGen/TypePromotion.cpp (renamed from llvm/lib/Target/ARM/ARMCodeGenPrepare.cpp)492
-rw-r--r--llvm/lib/CodeGen/UnreachableBlockElim.cpp1
-rw-r--r--llvm/lib/CodeGen/ValueTypes.cpp136
-rw-r--r--llvm/lib/CodeGen/WasmEHPrepare.cpp2
-rw-r--r--llvm/lib/CodeGen/WinEHPrepare.cpp4
-rw-r--r--llvm/lib/CodeGen/XRayInstrumentation.cpp1
-rw-r--r--llvm/lib/DWARFLinker/DWARFLinker.cpp17
-rw-r--r--llvm/lib/DWARFLinker/DWARFLinkerCompileUnit.cpp144
-rw-r--r--llvm/lib/DWARFLinker/DWARFLinkerDeclContext.cpp209
-rw-r--r--llvm/lib/DebugInfo/CodeView/SymbolRecordHelpers.cpp2
-rw-r--r--llvm/lib/DebugInfo/CodeView/TypeStreamMerger.cpp16
-rw-r--r--llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp6
-rw-r--r--llvm/lib/DebugInfo/DWARF/DWARFAddressRange.cpp8
-rw-r--r--llvm/lib/DebugInfo/DWARF/DWARFContext.cpp154
-rw-r--r--llvm/lib/DebugInfo/DWARF/DWARFDebugAranges.cpp4
-rw-r--r--llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp121
-rw-r--r--llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp524
-rw-r--r--llvm/lib/DebugInfo/DWARF/DWARFDebugMacro.cpp76
-rw-r--r--llvm/lib/DebugInfo/DWARF/DWARFDebugRnglists.cpp13
-rw-r--r--llvm/lib/DebugInfo/DWARF/DWARFDie.cpp96
-rw-r--r--llvm/lib/DebugInfo/DWARF/DWARFExpression.cpp2
-rw-r--r--llvm/lib/DebugInfo/DWARF/DWARFFormValue.cpp7
-rw-r--r--llvm/lib/DebugInfo/DWARF/DWARFLocationExpression.cpp19
-rw-r--r--llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp163
-rw-r--r--llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp80
-rw-r--r--llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp106
-rw-r--r--llvm/lib/DebugInfo/GSYM/GsymReader.cpp22
-rw-r--r--llvm/lib/DebugInfo/GSYM/InlineInfo.cpp110
-rw-r--r--llvm/lib/DebugInfo/GSYM/LineTable.cpp12
-rw-r--r--llvm/lib/DebugInfo/GSYM/LookupResult.cpp69
-rw-r--r--llvm/lib/DebugInfo/GSYM/Range.cpp12
-rw-r--r--llvm/lib/DebugInfo/PDB/Native/DbiModuleDescriptor.cpp7
-rw-r--r--llvm/lib/DebugInfo/Symbolize/DIPrinter.cpp15
-rw-r--r--llvm/lib/DebugInfo/Symbolize/Symbolize.cpp94
-rw-r--r--llvm/lib/Demangle/ItaniumDemangle.cpp8
-rw-r--r--llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp6
-rw-r--r--llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp655
-rw-r--r--llvm/lib/ExecutionEngine/JITLink/EHFrameSupportImpl.h96
-rw-r--r--llvm/lib/ExecutionEngine/JITLink/JITLink.cpp93
-rw-r--r--llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp32
-rw-r--r--llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.h2
-rw-r--r--llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp10
-rw-r--r--llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h68
-rw-r--r--llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp14
-rw-r--r--llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp27
-rw-r--r--llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp31
-rw-r--r--llvm/lib/ExecutionEngine/Orc/CompileUtils.cpp3
-rw-r--r--llvm/lib/ExecutionEngine/Orc/Core.cpp653
-rw-r--r--llvm/lib/ExecutionEngine/Orc/DebugUtils.cpp68
-rw-r--r--llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp112
-rw-r--r--llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp7
-rw-r--r--llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp4
-rw-r--r--llvm/lib/ExecutionEngine/Orc/LLJIT.cpp36
-rw-r--r--llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp6
-rw-r--r--llvm/lib/ExecutionEngine/Orc/Legacy.cpp3
-rw-r--r--llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp35
-rw-r--r--llvm/lib/ExecutionEngine/Orc/ObjectTransformLayer.cpp16
-rw-r--r--llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp19
-rw-r--r--llvm/lib/ExecutionEngine/OrcError/OrcError.cpp (renamed from llvm/lib/ExecutionEngine/Orc/OrcError.cpp)2
-rw-r--r--llvm/lib/ExecutionEngine/OrcError/RPCError.cpp (renamed from llvm/lib/ExecutionEngine/Orc/RPCUtils.cpp)11
-rw-r--r--llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp1
-rw-r--r--llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.cpp3
-rw-r--r--llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp2
-rw-r--r--llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFAArch64.h365
-rw-r--r--llvm/lib/ExecutionEngine/TargetSelect.cpp7
-rw-r--r--llvm/lib/Frontend/OpenMP/OMPConstants.cpp87
-rw-r--r--llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp632
-rw-r--r--llvm/lib/IR/AbstractCallSite.cpp19
-rw-r--r--llvm/lib/IR/AsmWriter.cpp65
-rw-r--r--llvm/lib/IR/Attributes.cpp36
-rw-r--r--llvm/lib/IR/AutoUpgrade.cpp77
-rw-r--r--llvm/lib/IR/ConstantFold.cpp60
-rw-r--r--llvm/lib/IR/ConstantRange.cpp150
-rw-r--r--llvm/lib/IR/Constants.cpp96
-rw-r--r--llvm/lib/IR/ConstantsContext.h2
-rw-r--r--llvm/lib/IR/Core.cpp22
-rw-r--r--llvm/lib/IR/DIBuilder.cpp31
-rw-r--r--llvm/lib/IR/DataLayout.cpp4
-rw-r--r--llvm/lib/IR/DebugInfo.cpp13
-rw-r--r--llvm/lib/IR/DebugInfoMetadata.cpp56
-rw-r--r--llvm/lib/IR/Dominators.cpp6
-rw-r--r--llvm/lib/IR/FPEnv.cpp78
-rw-r--r--llvm/lib/IR/Function.cpp30
-rw-r--r--llvm/lib/IR/IRBuilder.cpp66
-rw-r--r--llvm/lib/IR/IRPrintingPasses.cpp38
-rw-r--r--llvm/lib/IR/Instruction.cpp1
-rw-r--r--llvm/lib/IR/Instructions.cpp67
-rw-r--r--llvm/lib/IR/IntrinsicInst.cpp131
-rw-r--r--llvm/lib/IR/LLVMContext.cpp5
-rw-r--r--llvm/lib/IR/LLVMContextImpl.h12
-rw-r--r--llvm/lib/IR/LegacyPassManager.cpp280
-rw-r--r--llvm/lib/IR/Metadata.cpp5
-rw-r--r--llvm/lib/IR/Module.cpp16
-rw-r--r--llvm/lib/IR/ModuleSummaryIndex.cpp56
-rw-r--r--llvm/lib/IR/Pass.cpp45
-rw-r--r--llvm/lib/IR/RemarkStreamer.cpp33
-rw-r--r--llvm/lib/IR/SafepointIRVerifier.cpp9
-rw-r--r--llvm/lib/IR/TypeFinder.cpp2
-rw-r--r--llvm/lib/IR/User.cpp4
-rw-r--r--llvm/lib/IR/Value.cpp3
-rw-r--r--llvm/lib/IR/Verifier.cpp213
-rw-r--r--llvm/lib/LTO/LTO.cpp50
-rw-r--r--llvm/lib/LTO/LTOBackend.cpp77
-rw-r--r--llvm/lib/LTO/LTOCodeGenerator.cpp11
-rw-r--r--llvm/lib/LTO/SummaryBasedOptimizations.cpp1
-rw-r--r--llvm/lib/LTO/ThinLTOCodeGenerator.cpp12
-rw-r--r--llvm/lib/Linker/IRMover.cpp31
-rw-r--r--llvm/lib/MC/ELFObjectWriter.cpp26
-rw-r--r--llvm/lib/MC/MCAsmBackend.cpp26
-rw-r--r--llvm/lib/MC/MCAsmInfo.cpp2
-rw-r--r--llvm/lib/MC/MCAsmInfoELF.cpp2
-rw-r--r--llvm/lib/MC/MCAsmInfoXCOFF.cpp9
-rw-r--r--llvm/lib/MC/MCAsmStreamer.cpp19
-rw-r--r--llvm/lib/MC/MCAssembler.cpp104
-rw-r--r--llvm/lib/MC/MCCodePadder.cpp370
-rw-r--r--llvm/lib/MC/MCContext.cpp7
-rw-r--r--llvm/lib/MC/MCDisassembler/Disassembler.cpp11
-rw-r--r--llvm/lib/MC/MCDisassembler/MCDisassembler.cpp15
-rw-r--r--llvm/lib/MC/MCDwarf.cpp3
-rw-r--r--llvm/lib/MC/MCELFStreamer.cpp9
-rw-r--r--llvm/lib/MC/MCExpr.cpp2
-rw-r--r--llvm/lib/MC/MCFragment.cpp56
-rw-r--r--llvm/lib/MC/MCInstPrinter.cpp90
-rw-r--r--llvm/lib/MC/MCObjectFileInfo.cpp38
-rw-r--r--llvm/lib/MC/MCObjectStreamer.cpp130
-rw-r--r--llvm/lib/MC/MCParser/AsmParser.cpp90
-rw-r--r--llvm/lib/MC/MCParser/COFFAsmParser.cpp2
-rw-r--r--llvm/lib/MC/MCSection.cpp38
-rw-r--r--llvm/lib/MC/MCSectionXCOFF.cpp28
-rw-r--r--llvm/lib/MC/MCStreamer.cpp10
-rw-r--r--llvm/lib/MC/MCSymbolELF.cpp4
-rw-r--r--llvm/lib/MC/MCTargetOptions.cpp4
-rw-r--r--llvm/lib/MC/MCValue.cpp5
-rw-r--r--llvm/lib/MC/MCXCOFFStreamer.cpp11
-rw-r--r--llvm/lib/MC/WasmObjectWriter.cpp12
-rw-r--r--llvm/lib/MC/XCOFFObjectWriter.cpp368
-rw-r--r--llvm/lib/MCA/HardwareUnits/ResourceManager.cpp2
-rw-r--r--llvm/lib/MCA/InstrBuilder.cpp2
-rw-r--r--llvm/lib/MCA/Stages/InstructionTables.cpp3
-rw-r--r--llvm/lib/Object/ELF.cpp2
-rw-r--r--llvm/lib/Object/MachOObjectFile.cpp8
-rw-r--r--llvm/lib/Object/ModuleSymbolTable.cpp4
-rw-r--r--llvm/lib/Object/ObjectFile.cpp7
-rw-r--r--llvm/lib/Object/RelocationResolver.cpp10
-rw-r--r--llvm/lib/Object/WasmObjectFile.cpp17
-rw-r--r--llvm/lib/Object/XCOFFObjectFile.cpp54
-rw-r--r--llvm/lib/ObjectYAML/COFFEmitter.cpp13
-rw-r--r--llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp2
-rw-r--r--llvm/lib/ObjectYAML/DWARFEmitter.cpp5
-rw-r--r--llvm/lib/ObjectYAML/ELFEmitter.cpp559
-rw-r--r--llvm/lib/ObjectYAML/ELFYAML.cpp254
-rw-r--r--llvm/lib/ObjectYAML/MachOEmitter.cpp3
-rw-r--r--llvm/lib/ObjectYAML/MinidumpYAML.cpp1
-rw-r--r--llvm/lib/ObjectYAML/YAML.cpp12
-rw-r--r--llvm/lib/Passes/PassBuilder.cpp74
-rw-r--r--llvm/lib/Passes/PassRegistry.def6
-rw-r--r--llvm/lib/ProfileData/GCOV.cpp2
-rw-r--r--llvm/lib/ProfileData/InstrProfReader.cpp8
-rw-r--r--llvm/lib/Remarks/BitstreamRemarkParser.cpp37
-rw-r--r--llvm/lib/Remarks/BitstreamRemarkParser.h9
-rw-r--r--llvm/lib/Remarks/RemarkFormat.cpp15
-rw-r--r--llvm/lib/Remarks/RemarkLinker.cpp126
-rw-r--r--llvm/lib/Support/AArch64TargetParser.cpp48
-rw-r--r--llvm/lib/Support/AMDGPUMetadata.cpp1
-rw-r--r--llvm/lib/Support/APFloat.cpp184
-rw-r--r--llvm/lib/Support/APInt.cpp79
-rw-r--r--llvm/lib/Support/ARMAttributeParser.cpp18
-rw-r--r--llvm/lib/Support/ARMTargetParser.cpp2
-rw-r--r--llvm/lib/Support/BinaryStreamReader.cpp8
-rw-r--r--llvm/lib/Support/CRC.cpp2
-rw-r--r--llvm/lib/Support/CommandLine.cpp209
-rw-r--r--llvm/lib/Support/Compression.cpp4
-rw-r--r--llvm/lib/Support/CrashRecoveryContext.cpp73
-rw-r--r--llvm/lib/Support/DebugCounter.cpp1
-rw-r--r--llvm/lib/Support/Error.cpp5
-rw-r--r--llvm/lib/Support/FileCheck.cpp272
-rw-r--r--llvm/lib/Support/FileCheckImpl.h175
-rw-r--r--llvm/lib/Support/FileOutputBuffer.cpp5
-rw-r--r--llvm/lib/Support/Host.cpp63
-rw-r--r--llvm/lib/Support/InitLLVM.cpp6
-rw-r--r--llvm/lib/Support/ItaniumManglingCanonicalizer.cpp39
-rw-r--r--llvm/lib/Support/KnownBits.cpp4
-rw-r--r--llvm/lib/Support/LockFileManager.cpp6
-rw-r--r--llvm/lib/Support/Options.cpp32
-rw-r--r--llvm/lib/Support/Parallel.cpp82
-rw-r--r--llvm/lib/Support/Path.cpp41
-rw-r--r--llvm/lib/Support/SHA1.cpp54
-rw-r--r--llvm/lib/Support/Signals.cpp4
-rw-r--r--llvm/lib/Support/SpecialCaseList.cpp14
-rw-r--r--llvm/lib/Support/Statistic.cpp14
-rw-r--r--llvm/lib/Support/StringRef.cpp19
-rw-r--r--llvm/lib/Support/TargetParser.cpp8
-rw-r--r--llvm/lib/Support/Threading.cpp51
-rw-r--r--llvm/lib/Support/TimeProfiler.cpp34
-rw-r--r--llvm/lib/Support/Timer.cpp11
-rw-r--r--llvm/lib/Support/Triple.cpp274
-rw-r--r--llvm/lib/Support/Unix/Memory.inc6
-rw-r--r--llvm/lib/Support/Unix/Path.inc47
-rw-r--r--llvm/lib/Support/Unix/Signals.inc50
-rw-r--r--llvm/lib/Support/Unix/Threading.inc63
-rw-r--r--llvm/lib/Support/Unix/Unix.h9
-rw-r--r--llvm/lib/Support/VirtualFileSystem.cpp52
-rw-r--r--llvm/lib/Support/Windows/Memory.inc8
-rw-r--r--llvm/lib/Support/Windows/Process.inc7
-rw-r--r--llvm/lib/Support/Windows/Program.inc2
-rw-r--r--llvm/lib/Support/Windows/Signals.inc63
-rw-r--r--llvm/lib/Support/Windows/Threading.inc50
-rw-r--r--llvm/lib/Support/Windows/WindowsSupport.h8
-rw-r--r--llvm/lib/Support/YAMLParser.cpp64
-rw-r--r--llvm/lib/Support/YAMLTraits.cpp3
-rw-r--r--llvm/lib/Support/raw_ostream.cpp12
-rw-r--r--llvm/lib/TableGen/Main.cpp2
-rw-r--r--llvm/lib/TableGen/Record.cpp57
-rw-r--r--llvm/lib/TableGen/TGLexer.cpp16
-rw-r--r--llvm/lib/TableGen/TGLexer.h26
-rw-r--r--llvm/lib/TableGen/TGParser.cpp258
-rw-r--r--llvm/lib/TableGen/TGParser.h74
-rw-r--r--llvm/lib/Target/AArch64/AArch64.td123
-rw-r--r--llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp87
-rw-r--r--llvm/lib/Target/AArch64/AArch64CallLowering.cpp10
-rw-r--r--llvm/lib/Target/AArch64/AArch64CallingConvention.h3
-rw-r--r--llvm/lib/Target/AArch64/AArch64CallingConvention.td29
-rw-r--r--llvm/lib/Target/AArch64/AArch64CompressJumpTables.cpp13
-rw-r--r--llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp1
-rw-r--r--llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp4
-rw-r--r--llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp14
-rw-r--r--llvm/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp1
-rw-r--r--llvm/lib/Target/AArch64/AArch64FastISel.cpp22
-rw-r--r--llvm/lib/Target/AArch64/AArch64FrameLowering.cpp420
-rw-r--r--llvm/lib/Target/AArch64/AArch64FrameLowering.h11
-rw-r--r--llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp201
-rw-r--r--llvm/lib/Target/AArch64/AArch64ISelLowering.cpp1219
-rw-r--r--llvm/lib/Target/AArch64/AArch64ISelLowering.h58
-rw-r--r--llvm/lib/Target/AArch64/AArch64InstrAtomics.td6
-rw-r--r--llvm/lib/Target/AArch64/AArch64InstrFormats.td165
-rw-r--r--llvm/lib/Target/AArch64/AArch64InstrInfo.cpp1037
-rw-r--r--llvm/lib/Target/AArch64/AArch64InstrInfo.h28
-rw-r--r--llvm/lib/Target/AArch64/AArch64InstrInfo.td255
-rw-r--r--llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp381
-rw-r--r--llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp11
-rw-r--r--llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp433
-rw-r--r--llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h87
-rw-r--r--llvm/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp23
-rw-r--r--llvm/lib/Target/AArch64/AArch64PromoteConstant.cpp1
-rw-r--r--llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp7
-rw-r--r--llvm/lib/Target/AArch64/AArch64RegisterBankInfo.h4
-rw-r--r--llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp10
-rw-r--r--llvm/lib/Target/AArch64/AArch64RegisterInfo.td38
-rw-r--r--llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td1243
-rw-r--r--llvm/lib/Target/AArch64/AArch64SchedExynosM1.td850
-rw-r--r--llvm/lib/Target/AArch64/AArch64SchedExynosM3.td20
-rw-r--r--llvm/lib/Target/AArch64/AArch64SchedExynosM4.td32
-rw-r--r--llvm/lib/Target/AArch64/AArch64SchedExynosM5.td1012
-rw-r--r--llvm/lib/Target/AArch64/AArch64SchedPredExynos.td14
-rw-r--r--llvm/lib/Target/AArch64/AArch64SchedPredicates.td80
-rw-r--r--llvm/lib/Target/AArch64/AArch64SchedThunderX2T99.td19
-rw-r--r--llvm/lib/Target/AArch64/AArch64StackOffset.h12
-rw-r--r--llvm/lib/Target/AArch64/AArch64StackTagging.cpp1
-rw-r--r--llvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp32
-rw-r--r--llvm/lib/Target/AArch64/AArch64Subtarget.cpp16
-rw-r--r--llvm/lib/Target/AArch64/AArch64Subtarget.h9
-rw-r--r--llvm/lib/Target/AArch64/AArch64SystemOperands.td2
-rw-r--r--llvm/lib/Target/AArch64/AArch64TargetMachine.cpp35
-rw-r--r--llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp26
-rw-r--r--llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h35
-rw-r--r--llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp16
-rw-r--r--llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp3
-rw-r--r--llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.h3
-rw-r--r--llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp18
-rw-r--r--llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp21
-rw-r--r--llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.h16
-rw-r--r--llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp8
-rw-r--r--llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp5
-rw-r--r--llvm/lib/Target/AArch64/SVEInstrFormats.td1261
-rw-r--r--llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp2
-rw-r--r--llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h19
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPU.h5
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp2
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp1
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp25
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp1
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp25
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp8
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUGISel.td22
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUGenRegisterBankInfo.def144
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp45
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.h29
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp14
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp38
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp101
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h3
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUInline.cpp8
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td24
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp573
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h37
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUInstructions.td252
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp425
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h9
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp19
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp2
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp5
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp1
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h8
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp10
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp32
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp675
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.h15
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPURegisterBanks.td6
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp3
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td141
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp61
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h23
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp9
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp208
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h31
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp3
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUUnifyMetadata.cpp4
-rw-r--r--llvm/lib/Target/AMDGPU/AMDILCFGStructurizer.cpp3
-rw-r--r--llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp46
-rw-r--r--llvm/lib/Target/AMDGPU/BUFInstructions.td4
-rw-r--r--llvm/lib/Target/AMDGPU/DSInstructions.td10
-rw-r--r--llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp14
-rw-r--r--llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h2
-rw-r--r--llvm/lib/Target/AMDGPU/FLATInstructions.td111
-rw-r--r--llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp18
-rw-r--r--llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp4
-rw-r--r--llvm/lib/Target/AMDGPU/GCNNSAReassign.cpp1
-rw-r--r--llvm/lib/Target/AMDGPU/GCNRegBankReassign.cpp3
-rw-r--r--llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp13
-rw-r--r--llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp14
-rw-r--r--llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h14
-rw-r--r--llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp4
-rw-r--r--llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.h2
-rw-r--r--llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp2
-rw-r--r--llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp1
-rw-r--r--llvm/lib/Target/AMDGPU/MIMGInstructions.td10
-rw-r--r--llvm/lib/Target/AMDGPU/R600AsmPrinter.cpp2
-rw-r--r--llvm/lib/Target/AMDGPU/R600ISelLowering.cpp48
-rw-r--r--llvm/lib/Target/AMDGPU/R600InstrInfo.cpp6
-rw-r--r--llvm/lib/Target/AMDGPU/R600InstrInfo.h2
-rw-r--r--llvm/lib/Target/AMDGPU/R600Instructions.td25
-rw-r--r--llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp1
-rw-r--r--llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp3
-rw-r--r--llvm/lib/Target/AMDGPU/SIFoldOperands.cpp235
-rw-r--r--llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp3
-rw-r--r--llvm/lib/Target/AMDGPU/SIFrameLowering.cpp10
-rw-r--r--llvm/lib/Target/AMDGPU/SIISelLowering.cpp265
-rw-r--r--llvm/lib/Target/AMDGPU/SIISelLowering.h21
-rw-r--r--llvm/lib/Target/AMDGPU/SIInsertSkips.cpp5
-rw-r--r--llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp70
-rw-r--r--llvm/lib/Target/AMDGPU/SIInstrInfo.cpp170
-rw-r--r--llvm/lib/Target/AMDGPU/SIInstrInfo.h25
-rw-r--r--llvm/lib/Target/AMDGPU/SIInstrInfo.td132
-rw-r--r--llvm/lib/Target/AMDGPU/SIInstructions.td135
-rw-r--r--llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp697
-rw-r--r--llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp17
-rw-r--r--llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp180
-rw-r--r--llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp1
-rw-r--r--llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp1
-rw-r--r--llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h19
-rw-r--r--llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp14
-rw-r--r--llvm/lib/Target/AMDGPU/SIMachineScheduler.h1
-rw-r--r--llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp21
-rw-r--r--llvm/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp3
-rw-r--r--llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp5
-rw-r--r--llvm/lib/Target/AMDGPU/SIPreAllocateWWMRegs.cpp7
-rw-r--r--llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp49
-rw-r--r--llvm/lib/Target/AMDGPU/SIRegisterInfo.h5
-rw-r--r--llvm/lib/Target/AMDGPU/SIRegisterInfo.td16
-rw-r--r--llvm/lib/Target/AMDGPU/SIRemoveShortExecBranches.cpp158
-rw-r--r--llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp4
-rw-r--r--llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp30
-rw-r--r--llvm/lib/Target/AMDGPU/SMInstructions.td10
-rw-r--r--llvm/lib/Target/AMDGPU/SOPInstructions.td23
-rw-r--r--llvm/lib/Target/AMDGPU/TargetInfo/AMDGPUTargetInfo.cpp2
-rw-r--r--llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp42
-rw-r--r--llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h61
-rw-r--r--llvm/lib/Target/AMDGPU/VOP1Instructions.td87
-rw-r--r--llvm/lib/Target/AMDGPU/VOP2Instructions.td43
-rw-r--r--llvm/lib/Target/AMDGPU/VOP3Instructions.td42
-rw-r--r--llvm/lib/Target/AMDGPU/VOP3PInstructions.td4
-rw-r--r--llvm/lib/Target/AMDGPU/VOPCInstructions.td4
-rw-r--r--llvm/lib/Target/ARC/ARCAsmPrinter.cpp2
-rw-r--r--llvm/lib/Target/ARC/ARCBranchFinalize.cpp1
-rw-r--r--llvm/lib/Target/ARC/ARCISelLowering.cpp2
-rw-r--r--llvm/lib/Target/ARC/ARCInstrInfo.cpp4
-rw-r--r--llvm/lib/Target/ARC/ARCInstrInfo.h2
-rw-r--r--llvm/lib/Target/ARC/ARCOptAddrMode.cpp3
-rw-r--r--llvm/lib/Target/ARC/ARCRegisterInfo.cpp2
-rw-r--r--llvm/lib/Target/ARC/ARCTargetMachine.cpp2
-rw-r--r--llvm/lib/Target/ARC/Disassembler/ARCDisassembler.cpp4
-rw-r--r--llvm/lib/Target/ARC/MCTargetDesc/ARCInstPrinter.cpp7
-rw-r--r--llvm/lib/Target/ARC/MCTargetDesc/ARCInstPrinter.h6
-rw-r--r--llvm/lib/Target/ARC/MCTargetDesc/ARCMCTargetDesc.cpp5
-rw-r--r--llvm/lib/Target/ARC/TargetInfo/ARCTargetInfo.cpp2
-rw-r--r--llvm/lib/Target/ARM/A15SDOptimizer.cpp3
-rw-r--r--llvm/lib/Target/ARM/ARM.h4
-rw-r--r--llvm/lib/Target/ARM/ARM.td32
-rw-r--r--llvm/lib/Target/ARM/ARMAsmPrinter.cpp12
-rw-r--r--llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp89
-rw-r--r--llvm/lib/Target/ARM/ARMBaseInstrInfo.h128
-rw-r--r--llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp9
-rw-r--r--llvm/lib/Target/ARM/ARMCallLowering.cpp2
-rw-r--r--llvm/lib/Target/ARM/ARMCallingConv.cpp46
-rw-r--r--llvm/lib/Target/ARM/ARMCallingConv.h3
-rw-r--r--llvm/lib/Target/ARM/ARMCallingConv.td35
-rw-r--r--llvm/lib/Target/ARM/ARMConstantIslandPass.cpp20
-rw-r--r--llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp21
-rw-r--r--llvm/lib/Target/ARM/ARMFastISel.cpp10
-rw-r--r--llvm/lib/Target/ARM/ARMFrameLowering.cpp12
-rw-r--r--llvm/lib/Target/ARM/ARMFrameLowering.h2
-rw-r--r--llvm/lib/Target/ARM/ARMHazardRecognizer.h7
-rw-r--r--llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp611
-rw-r--r--llvm/lib/Target/ARM/ARMISelLowering.cpp727
-rw-r--r--llvm/lib/Target/ARM/ARMISelLowering.h26
-rw-r--r--llvm/lib/Target/ARM/ARMInstrInfo.td61
-rw-r--r--llvm/lib/Target/ARM/ARMInstrMVE.td2779
-rw-r--r--llvm/lib/Target/ARM/ARMInstrNEON.td169
-rw-r--r--llvm/lib/Target/ARM/ARMInstrThumb2.td228
-rw-r--r--llvm/lib/Target/ARM/ARMInstrVFP.td31
-rw-r--r--llvm/lib/Target/ARM/ARMInstructionSelector.cpp18
-rw-r--r--llvm/lib/Target/ARM/ARMLegalizerInfo.cpp10
-rw-r--r--llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp27
-rw-r--r--llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp968
-rw-r--r--llvm/lib/Target/ARM/ARMParallelDSP.cpp15
-rw-r--r--llvm/lib/Target/ARM/ARMPredicates.td8
-rw-r--r--llvm/lib/Target/ARM/ARMRegisterBankInfo.cpp7
-rw-r--r--llvm/lib/Target/ARM/ARMRegisterBankInfo.h4
-rw-r--r--llvm/lib/Target/ARM/ARMSubtarget.cpp17
-rw-r--r--llvm/lib/Target/ARM/ARMSubtarget.h20
-rw-r--r--llvm/lib/Target/ARM/ARMTargetMachine.cpp33
-rw-r--r--llvm/lib/Target/ARM/ARMTargetMachine.h2
-rw-r--r--llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp333
-rw-r--r--llvm/lib/Target/ARM/ARMTargetTransformInfo.h36
-rw-r--r--llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp105
-rw-r--r--llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp95
-rw-r--r--llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp7
-rw-r--r--llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp29
-rw-r--r--llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp11
-rw-r--r--llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.h8
-rw-r--r--llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp8
-rw-r--r--llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.cpp2
-rw-r--r--llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.h2
-rw-r--r--llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp301
-rw-r--r--llvm/lib/Target/ARM/MVETailPredication.cpp167
-rw-r--r--llvm/lib/Target/ARM/MVEVPTBlockPass.cpp161
-rw-r--r--llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp2
-rw-r--r--llvm/lib/Target/ARM/Thumb1InstrInfo.cpp4
-rw-r--r--llvm/lib/Target/ARM/Thumb1InstrInfo.h2
-rw-r--r--llvm/lib/Target/ARM/Thumb2InstrInfo.cpp121
-rw-r--r--llvm/lib/Target/ARM/Thumb2InstrInfo.h2
-rw-r--r--llvm/lib/Target/ARM/Utils/ARMBaseInfo.h53
-rw-r--r--llvm/lib/Target/AVR/AVRAsmPrinter.cpp2
-rw-r--r--llvm/lib/Target/AVR/AVRExpandPseudoInsts.cpp91
-rw-r--r--llvm/lib/Target/AVR/AVRISelLowering.cpp9
-rw-r--r--llvm/lib/Target/AVR/AVRISelLowering.h2
-rw-r--r--llvm/lib/Target/AVR/AVRInstrFormats.td4
-rw-r--r--llvm/lib/Target/AVR/AVRInstrInfo.cpp4
-rw-r--r--llvm/lib/Target/AVR/AVRInstrInfo.h2
-rw-r--r--llvm/lib/Target/AVR/AVRInstrInfo.td14
-rw-r--r--llvm/lib/Target/AVR/AVRTargetMachine.cpp2
-rw-r--r--llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp2
-rw-r--r--llvm/lib/Target/AVR/Disassembler/AVRDisassembler.cpp4
-rw-r--r--llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.cpp7
-rw-r--r--llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.h6
-rw-r--r--llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.cpp2
-rw-r--r--llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.h2
-rw-r--r--llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.cpp8
-rw-r--r--llvm/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.cpp2
-rw-r--r--llvm/lib/Target/AVR/TargetInfo/AVRTargetInfo.cpp2
-rw-r--r--llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp2
-rw-r--r--llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp86
-rw-r--r--llvm/lib/Target/BPF/BPFAsmPrinter.cpp2
-rw-r--r--llvm/lib/Target/BPF/BPFISelDAGToDAG.cpp1
-rw-r--r--llvm/lib/Target/BPF/BPFInstrInfo.cpp4
-rw-r--r--llvm/lib/Target/BPF/BPFInstrInfo.h2
-rw-r--r--llvm/lib/Target/BPF/BPFInstrInfo.td19
-rw-r--r--llvm/lib/Target/BPF/BPFMIPeephole.cpp89
-rw-r--r--llvm/lib/Target/BPF/BPFMISimplifyPatchable.cpp163
-rw-r--r--llvm/lib/Target/BPF/BPFSubtarget.cpp1
-rw-r--r--llvm/lib/Target/BPF/BPFTargetMachine.cpp2
-rw-r--r--llvm/lib/Target/BPF/BTF.h10
-rw-r--r--llvm/lib/Target/BPF/BTFDebug.cpp157
-rw-r--r--llvm/lib/Target/BPF/BTFDebug.h19
-rw-r--r--llvm/lib/Target/BPF/Disassembler/BPFDisassembler.cpp4
-rw-r--r--llvm/lib/Target/BPF/MCTargetDesc/BPFInstPrinter.cpp7
-rw-r--r--llvm/lib/Target/BPF/MCTargetDesc/BPFInstPrinter.h6
-rw-r--r--llvm/lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h2
-rw-r--r--llvm/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp2
-rw-r--r--llvm/lib/Target/BPF/TargetInfo/BPFTargetInfo.cpp2
-rw-r--r--llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp4
-rw-r--r--llvm/lib/Target/Hexagon/BitTracker.cpp2
-rw-r--r--llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp17
-rw-r--r--llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp2
-rw-r--r--llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp1
-rw-r--r--llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp9
-rw-r--r--llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp11
-rw-r--r--llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp16
-rw-r--r--llvm/lib/Target/Hexagon/HexagonDepMapAsm2Intrin.td2
-rw-r--r--llvm/lib/Target/Hexagon/HexagonEarlyIfConv.cpp5
-rw-r--r--llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp3
-rw-r--r--llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp96
-rw-r--r--llvm/lib/Target/Hexagon/HexagonGenExtract.cpp2
-rw-r--r--llvm/lib/Target/Hexagon/HexagonGenInsert.cpp5
-rw-r--r--llvm/lib/Target/Hexagon/HexagonGenMux.cpp10
-rw-r--r--llvm/lib/Target/Hexagon/HexagonGenPredicate.cpp1
-rw-r--r--llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp1
-rw-r--r--llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp21
-rw-r--r--llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.h4
-rw-r--r--llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp1
-rw-r--r--llvm/lib/Target/Hexagon/HexagonISelLowering.cpp89
-rw-r--r--llvm/lib/Target/Hexagon/HexagonISelLowering.h5
-rw-r--r--llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp7
-rw-r--r--llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp179
-rw-r--r--llvm/lib/Target/Hexagon/HexagonInstrInfo.h2
-rw-r--r--llvm/lib/Target/Hexagon/HexagonIntrinsics.td3
-rw-r--r--llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp20
-rw-r--r--llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp1
-rw-r--r--llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp1
-rw-r--r--llvm/lib/Target/Hexagon/HexagonOptimizeSZextends.cpp1
-rw-r--r--llvm/lib/Target/Hexagon/HexagonPatterns.td4
-rw-r--r--llvm/lib/Target/Hexagon/HexagonPseudo.td20
-rw-r--r--llvm/lib/Target/Hexagon/HexagonRDFOpt.cpp1
-rw-r--r--llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp5
-rw-r--r--llvm/lib/Target/Hexagon/HexagonRegisterInfo.td2
-rw-r--r--llvm/lib/Target/Hexagon/HexagonSplitDouble.cpp2
-rw-r--r--llvm/lib/Target/Hexagon/HexagonStoreWidening.cpp7
-rw-r--r--llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp2
-rw-r--r--llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp42
-rw-r--r--llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h19
-rw-r--r--llvm/lib/Target/Hexagon/HexagonVExtract.cpp44
-rw-r--r--llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp9
-rw-r--r--llvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.cpp4
-rw-r--r--llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp2
-rw-r--r--llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.cpp11
-rw-r--r--llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.h6
-rw-r--r--llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCompound.cpp10
-rw-r--r--llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp12
-rw-r--r--llvm/lib/Target/Hexagon/RDFLiveness.cpp10
-rw-r--r--llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp2
-rw-r--r--llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp2
-rw-r--r--llvm/lib/Target/Lanai/Disassembler/LanaiDisassembler.cpp9
-rw-r--r--llvm/lib/Target/Lanai/Disassembler/LanaiDisassembler.h3
-rw-r--r--llvm/lib/Target/Lanai/LanaiAsmPrinter.cpp2
-rw-r--r--llvm/lib/Target/Lanai/LanaiISelLowering.cpp2
-rw-r--r--llvm/lib/Target/Lanai/LanaiISelLowering.h2
-rw-r--r--llvm/lib/Target/Lanai/LanaiInstrInfo.cpp10
-rw-r--r--llvm/lib/Target/Lanai/LanaiInstrInfo.h4
-rw-r--r--llvm/lib/Target/Lanai/LanaiTargetMachine.cpp2
-rw-r--r--llvm/lib/Target/Lanai/LanaiTargetTransformInfo.h9
-rw-r--r--llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.cpp7
-rw-r--r--llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.h6
-rw-r--r--llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCAsmInfo.cpp3
-rw-r--r--llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCAsmInfo.h3
-rw-r--r--llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.cpp2
-rw-r--r--llvm/lib/Target/Lanai/TargetInfo/LanaiTargetInfo.cpp2
-rw-r--r--llvm/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp2
-rw-r--r--llvm/lib/Target/MSP430/Disassembler/MSP430Disassembler.cpp16
-rw-r--r--llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.cpp7
-rw-r--r--llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.h6
-rw-r--r--llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp3
-rw-r--r--llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.h2
-rw-r--r--llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.cpp2
-rw-r--r--llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp2
-rw-r--r--llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp25
-rw-r--r--llvm/lib/Target/MSP430/MSP430ISelLowering.cpp20
-rw-r--r--llvm/lib/Target/MSP430/MSP430ISelLowering.h3
-rw-r--r--llvm/lib/Target/MSP430/MSP430InstrInfo.cpp4
-rw-r--r--llvm/lib/Target/MSP430/MSP430InstrInfo.h2
-rw-r--r--llvm/lib/Target/MSP430/MSP430MachineFunctionInfo.h10
-rw-r--r--llvm/lib/Target/MSP430/MSP430Subtarget.h4
-rw-r--r--llvm/lib/Target/MSP430/MSP430TargetMachine.cpp2
-rw-r--r--llvm/lib/Target/MSP430/TargetInfo/MSP430TargetInfo.cpp2
-rw-r--r--llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp443
-rw-r--r--llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp42
-rw-r--r--llvm/lib/Target/Mips/MCTargetDesc/MipsABIFlagsSection.h4
-rw-r--r--llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp1
-rw-r--r--llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp6
-rw-r--r--llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h12
-rw-r--r--llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.cpp7
-rw-r--r--llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.h6
-rw-r--r--llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp18
-rw-r--r--llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h3
-rw-r--r--llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp15
-rw-r--r--llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp3
-rw-r--r--llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp9
-rw-r--r--llvm/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp4
-rw-r--r--llvm/lib/Target/Mips/MCTargetDesc/MipsOptionRecord.cpp24
-rw-r--r--llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp35
-rw-r--r--llvm/lib/Target/Mips/MicroMips32r6InstrFormats.td17
-rw-r--r--llvm/lib/Target/Mips/MicroMips32r6InstrInfo.td22
-rw-r--r--llvm/lib/Target/Mips/MicroMipsInstrFPU.td3
-rw-r--r--llvm/lib/Target/Mips/MicroMipsInstrInfo.td9
-rw-r--r--llvm/lib/Target/Mips/Mips.td17
-rw-r--r--llvm/lib/Target/Mips/Mips16ISelLowering.cpp3
-rw-r--r--llvm/lib/Target/Mips/Mips16InstrInfo.cpp23
-rw-r--r--llvm/lib/Target/Mips/Mips16InstrInfo.h9
-rw-r--r--llvm/lib/Target/Mips/Mips16InstrInfo.td8
-rw-r--r--llvm/lib/Target/Mips/Mips32r6InstrInfo.td10
-rw-r--r--llvm/lib/Target/Mips/Mips64InstrInfo.td43
-rw-r--r--llvm/lib/Target/Mips/Mips64r6InstrInfo.td7
-rw-r--r--llvm/lib/Target/Mips/MipsAsmPrinter.cpp12
-rw-r--r--llvm/lib/Target/Mips/MipsCallLowering.cpp5
-rw-r--r--llvm/lib/Target/Mips/MipsCallingConv.td3
-rw-r--r--llvm/lib/Target/Mips/MipsCondMov.td16
-rw-r--r--llvm/lib/Target/Mips/MipsConstantIslandPass.cpp10
-rw-r--r--llvm/lib/Target/Mips/MipsDSPInstrInfo.td11
-rw-r--r--llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp72
-rw-r--r--llvm/lib/Target/Mips/MipsExpandPseudo.cpp230
-rw-r--r--llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp1
-rw-r--r--llvm/lib/Target/Mips/MipsISelLowering.cpp220
-rw-r--r--llvm/lib/Target/Mips/MipsISelLowering.h2
-rw-r--r--llvm/lib/Target/Mips/MipsInstrFPU.td48
-rw-r--r--llvm/lib/Target/Mips/MipsInstrFormats.td19
-rw-r--r--llvm/lib/Target/Mips/MipsInstrInfo.cpp4
-rw-r--r--llvm/lib/Target/Mips/MipsInstrInfo.td194
-rw-r--r--llvm/lib/Target/Mips/MipsInstructionSelector.cpp148
-rw-r--r--llvm/lib/Target/Mips/MipsLegalizerInfo.cpp113
-rw-r--r--llvm/lib/Target/Mips/MipsMCInstLower.cpp8
-rw-r--r--llvm/lib/Target/Mips/MipsMCInstLower.h4
-rw-r--r--llvm/lib/Target/Mips/MipsMSAInstrInfo.td1
-rw-r--r--llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp1
-rw-r--r--llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp27
-rw-r--r--llvm/lib/Target/Mips/MipsRegisterBankInfo.h4
-rw-r--r--llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp22
-rw-r--r--llvm/lib/Target/Mips/MipsSEISelLowering.cpp1
-rw-r--r--llvm/lib/Target/Mips/MipsSEInstrInfo.cpp27
-rw-r--r--llvm/lib/Target/Mips/MipsSEInstrInfo.h10
-rw-r--r--llvm/lib/Target/Mips/MipsScheduleGeneric.td12
-rw-r--r--llvm/lib/Target/Mips/MipsScheduleP5600.td6
-rw-r--r--llvm/lib/Target/Mips/MipsSubtarget.cpp25
-rw-r--r--llvm/lib/Target/Mips/MipsSubtarget.h4
-rw-r--r--llvm/lib/Target/Mips/MipsTargetMachine.cpp7
-rw-r--r--llvm/lib/Target/Mips/MipsTargetStreamer.h4
-rw-r--r--llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp2
-rw-r--r--llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp7
-rw-r--r--llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h6
-rw-r--r--llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp3
-rw-r--r--llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.h3
-rw-r--r--llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.cpp2
-rw-r--r--llvm/lib/Target/NVPTX/ManagedStringPool.h2
-rw-r--r--llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp2
-rw-r--r--llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp9
-rw-r--r--llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h2
-rw-r--r--llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp1
-rw-r--r--llvm/lib/Target/NVPTX/NVPTXISelLowering.h5
-rw-r--r--llvm/lib/Target/NVPTX/NVPTXImageOptimizer.cpp1
-rw-r--r--llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp4
-rw-r--r--llvm/lib/Target/NVPTX/NVPTXInstrInfo.h2
-rw-r--r--llvm/lib/Target/NVPTX/NVPTXIntrinsics.td42
-rw-r--r--llvm/lib/Target/NVPTX/NVPTXLowerAlloca.cpp3
-rw-r--r--llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp2
-rw-r--r--llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp4
-rw-r--r--llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h3
-rw-r--r--llvm/lib/Target/NVPTX/NVVMIntrRange.cpp2
-rw-r--r--llvm/lib/Target/NVPTX/NVVMReflect.cpp1
-rw-r--r--llvm/lib/Target/NVPTX/TargetInfo/NVPTXTargetInfo.cpp2
-rw-r--r--llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp90
-rw-r--r--llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp6
-rw-r--r--llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp8
-rw-r--r--llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.h6
-rw-r--r--llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp28
-rw-r--r--llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.h7
-rw-r--r--llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp23
-rw-r--r--llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h24
-rw-r--r--llvm/lib/Target/PowerPC/P9InstrResources.td229
-rw-r--r--llvm/lib/Target/PowerPC/PPC.h11
-rw-r--r--llvm/lib/Target/PowerPC/PPC.td175
-rw-r--r--llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp356
-rw-r--r--llvm/lib/Target/PowerPC/PPCBranchCoalescing.cpp1
-rw-r--r--llvm/lib/Target/PowerPC/PPCCTRLoops.cpp4
-rw-r--r--llvm/lib/Target/PowerPC/PPCFrameLowering.cpp7
-rw-r--r--llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp4
-rw-r--r--llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp401
-rw-r--r--llvm/lib/Target/PowerPC/PPCISelLowering.cpp1357
-rw-r--r--llvm/lib/Target/PowerPC/PPCISelLowering.h936
-rw-r--r--llvm/lib/Target/PowerPC/PPCInstr64Bit.td78
-rw-r--r--llvm/lib/Target/PowerPC/PPCInstrAltivec.td121
-rw-r--r--llvm/lib/Target/PowerPC/PPCInstrFormats.td61
-rw-r--r--llvm/lib/Target/PowerPC/PPCInstrHTM.td16
-rw-r--r--llvm/lib/Target/PowerPC/PPCInstrInfo.cpp549
-rw-r--r--llvm/lib/Target/PowerPC/PPCInstrInfo.h14
-rw-r--r--llvm/lib/Target/PowerPC/PPCInstrInfo.td383
-rw-r--r--llvm/lib/Target/PowerPC/PPCInstrVSX.td190
-rw-r--r--llvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp (renamed from llvm/lib/Target/PowerPC/PPCLoopPreIncPrep.cpp)441
-rw-r--r--llvm/lib/Target/PowerPC/PPCLowerMASSVEntries.cpp164
-rw-r--r--llvm/lib/Target/PowerPC/PPCMIPeephole.cpp390
-rw-r--r--llvm/lib/Target/PowerPC/PPCMachineFunctionInfo.h2
-rw-r--r--llvm/lib/Target/PowerPC/PPCPreEmitPeephole.cpp25
-rw-r--r--llvm/lib/Target/PowerPC/PPCReduceCRLogicals.cpp13
-rw-r--r--llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp35
-rw-r--r--llvm/lib/Target/PowerPC/PPCRegisterInfo.h9
-rw-r--r--llvm/lib/Target/PowerPC/PPCSubtarget.cpp7
-rw-r--r--llvm/lib/Target/PowerPC/PPCSubtarget.h45
-rw-r--r--llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp1
-rw-r--r--llvm/lib/Target/PowerPC/PPCTargetMachine.cpp20
-rw-r--r--llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp96
-rw-r--r--llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h17
-rw-r--r--llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp1
-rw-r--r--llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp2
-rw-r--r--llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp61
-rw-r--r--llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp4
-rw-r--r--llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp10
-rw-r--r--llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp13
-rw-r--r--llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp7
-rw-r--r--llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h8
-rw-r--r--llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp6
-rw-r--r--llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp5
-rw-r--r--llvm/lib/Target/RISCV/RISCV.td29
-rw-r--r--llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp16
-rw-r--r--llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp6
-rw-r--r--llvm/lib/Target/RISCV/RISCVFrameLowering.cpp132
-rw-r--r--llvm/lib/Target/RISCV/RISCVFrameLowering.h2
-rw-r--r--llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp3
-rw-r--r--llvm/lib/Target/RISCV/RISCVISelLowering.cpp91
-rw-r--r--llvm/lib/Target/RISCV/RISCVISelLowering.h13
-rw-r--r--llvm/lib/Target/RISCV/RISCVInstrInfo.cpp259
-rw-r--r--llvm/lib/Target/RISCV/RISCVInstrInfo.h46
-rw-r--r--llvm/lib/Target/RISCV/RISCVInstrInfo.td23
-rw-r--r--llvm/lib/Target/RISCV/RISCVInstrInfoA.td2
-rw-r--r--llvm/lib/Target/RISCV/RISCVInstrInfoD.td3
-rw-r--r--llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp18
-rw-r--r--llvm/lib/Target/RISCV/RISCVRegisterInfo.h2
-rw-r--r--llvm/lib/Target/RISCV/RISCVSubtarget.cpp1
-rw-r--r--llvm/lib/Target/RISCV/RISCVSubtarget.h5
-rw-r--r--llvm/lib/Target/RISCV/RISCVTargetMachine.cpp33
-rw-r--r--llvm/lib/Target/RISCV/RISCVTargetMachine.h10
-rw-r--r--llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp6
-rw-r--r--llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h6
-rw-r--r--llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp2
-rw-r--r--llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp17
-rw-r--r--llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.h36
-rw-r--r--llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp2
-rw-r--r--llvm/lib/Target/Sparc/DelaySlotFiller.cpp2
-rw-r--r--llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp4
-rwxr-xr-xllvm/lib/Target/Sparc/LeonPasses.h2
-rw-r--r--llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp7
-rw-r--r--llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.h8
-rw-r--r--llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp8
-rw-r--r--llvm/lib/Target/Sparc/SparcAsmPrinter.cpp2
-rw-r--r--llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp3
-rw-r--r--llvm/lib/Target/Sparc/SparcISelLowering.cpp2
-rw-r--r--llvm/lib/Target/Sparc/SparcISelLowering.h2
-rw-r--r--llvm/lib/Target/Sparc/SparcInstr64Bit.td2
-rw-r--r--llvm/lib/Target/Sparc/SparcInstrInfo.cpp4
-rw-r--r--llvm/lib/Target/Sparc/SparcInstrInfo.h2
-rw-r--r--llvm/lib/Target/Sparc/SparcInstrInfo.td5
-rw-r--r--llvm/lib/Target/Sparc/SparcTargetMachine.cpp2
-rw-r--r--llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp2
-rw-r--r--llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp24
-rw-r--r--llvm/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp4
-rw-r--r--llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinter.cpp16
-rw-r--r--llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinter.h6
-rw-r--r--llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp5
-rw-r--r--llvm/lib/Target/SystemZ/SystemZ.h2
-rw-r--r--llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp31
-rw-r--r--llvm/lib/Target/SystemZ/SystemZCallingConv.h7
-rw-r--r--llvm/lib/Target/SystemZ/SystemZCallingConv.td27
-rw-r--r--llvm/lib/Target/SystemZ/SystemZElimCompare.cpp169
-rw-r--r--llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp264
-rw-r--r--llvm/lib/Target/SystemZ/SystemZFrameLowering.h11
-rw-r--r--llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp14
-rw-r--r--llvm/lib/Target/SystemZ/SystemZISelLowering.cpp379
-rw-r--r--llvm/lib/Target/SystemZ/SystemZISelLowering.h31
-rw-r--r--llvm/lib/Target/SystemZ/SystemZInstrFP.td60
-rw-r--r--llvm/lib/Target/SystemZ/SystemZInstrFormats.td30
-rw-r--r--llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp58
-rw-r--r--llvm/lib/Target/SystemZ/SystemZInstrInfo.h9
-rw-r--r--llvm/lib/Target/SystemZ/SystemZInstrInfo.td19
-rw-r--r--llvm/lib/Target/SystemZ/SystemZInstrVector.td52
-rw-r--r--llvm/lib/Target/SystemZ/SystemZLongBranch.cpp2
-rw-r--r--llvm/lib/Target/SystemZ/SystemZMachineFunctionInfo.h52
-rw-r--r--llvm/lib/Target/SystemZ/SystemZOperands.td22
-rw-r--r--llvm/lib/Target/SystemZ/SystemZOperators.td40
-rw-r--r--llvm/lib/Target/SystemZ/SystemZPatterns.td4
-rw-r--r--llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp96
-rw-r--r--llvm/lib/Target/SystemZ/SystemZShortenInst.cpp38
-rw-r--r--llvm/lib/Target/SystemZ/SystemZTDC.cpp1
-rw-r--r--llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp2
-rw-r--r--llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp21
-rw-r--r--llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h11
-rw-r--r--llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp2
-rw-r--r--llvm/lib/Target/TargetMachine.cpp19
-rw-r--r--llvm/lib/Target/TargetMachineC.cpp6
-rw-r--r--llvm/lib/Target/VE/InstPrinter/VEInstPrinter.cpp118
-rw-r--r--llvm/lib/Target/VE/InstPrinter/VEInstPrinter.h49
-rw-r--r--llvm/lib/Target/VE/MCTargetDesc/VEMCAsmInfo.cpp40
-rw-r--r--llvm/lib/Target/VE/MCTargetDesc/VEMCAsmInfo.h31
-rw-r--r--llvm/lib/Target/VE/MCTargetDesc/VEMCTargetDesc.cpp106
-rw-r--r--llvm/lib/Target/VE/MCTargetDesc/VEMCTargetDesc.h53
-rw-r--r--llvm/lib/Target/VE/MCTargetDesc/VETargetStreamer.cpp44
-rw-r--r--llvm/lib/Target/VE/MCTargetDesc/VETargetStreamer.h47
-rw-r--r--llvm/lib/Target/VE/TargetInfo/VETargetInfo.cpp23
-rw-r--r--llvm/lib/Target/VE/VE.h109
-rw-r--r--llvm/lib/Target/VE/VE.td56
-rw-r--r--llvm/lib/Target/VE/VEAsmPrinter.cpp78
-rw-r--r--llvm/lib/Target/VE/VECallingConv.td19
-rw-r--r--llvm/lib/Target/VE/VEFrameLowering.cpp325
-rw-r--r--llvm/lib/Target/VE/VEFrameLowering.h81
-rw-r--r--llvm/lib/Target/VE/VEISelDAGToDAG.cpp70
-rw-r--r--llvm/lib/Target/VE/VEISelLowering.cpp137
-rw-r--r--llvm/lib/Target/VE/VEISelLowering.h62
-rw-r--r--llvm/lib/Target/VE/VEInstrFormats.td75
-rw-r--r--llvm/lib/Target/VE/VEInstrInfo.cpp133
-rw-r--r--llvm/lib/Target/VE/VEInstrInfo.h48
-rw-r--r--llvm/lib/Target/VE/VEInstrInfo.td288
-rw-r--r--llvm/lib/Target/VE/VEMCInstLower.cpp69
-rw-r--r--llvm/lib/Target/VE/VERegisterInfo.cpp133
-rw-r--r--llvm/lib/Target/VE/VERegisterInfo.h49
-rw-r--r--llvm/lib/Target/VE/VERegisterInfo.td37
-rw-r--r--llvm/lib/Target/VE/VESubtarget.cpp99
-rw-r--r--llvm/lib/Target/VE/VESubtarget.h73
-rw-r--r--llvm/lib/Target/VE/VETargetMachine.cpp108
-rw-r--r--llvm/lib/Target/VE/VETargetMachine.h57
-rw-r--r--llvm/lib/Target/VE/VETargetTransformInfo.h50
-rw-r--r--llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp38
-rw-r--r--llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp9
-rw-r--r--llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp7
-rw-r--r--llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.h6
-rw-r--r--llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCAsmInfo.cpp3
-rw-r--r--llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCAsmInfo.h3
-rw-r--r--llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp7
-rw-r--r--llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp6
-rw-r--r--llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h7
-rw-r--r--llvm/lib/Target/WebAssembly/TargetInfo/WebAssemblyTargetInfo.cpp2
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssembly.h4
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp14
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyDebugValueManager.cpp8
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyDebugValueManager.h1
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp1
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp6
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyISD.def4
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp7
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp47
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h9
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyInstrFloat.td7
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp14
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.h6
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td59
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp5
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp6
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp2
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp3
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h3
-rw-r--r--llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp224
-rw-r--r--llvm/lib/Target/X86/AsmParser/X86Operand.h27
-rw-r--r--llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp1670
-rw-r--r--llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp1938
-rw-r--r--llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h69
-rw-r--r--llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp7
-rw-r--r--llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h6
-rw-r--r--llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp463
-rw-r--r--llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h294
-rw-r--r--llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp8
-rw-r--r--llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.h6
-rw-r--r--llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp1057
-rw-r--r--llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp14
-rw-r--r--llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp2
-rw-r--r--llvm/lib/Target/X86/X86.h12
-rw-r--r--llvm/lib/Target/X86/X86.td133
-rw-r--r--llvm/lib/Target/X86/X86AsmPrinter.cpp50
-rw-r--r--llvm/lib/Target/X86/X86AsmPrinter.h6
-rw-r--r--llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp9
-rw-r--r--llvm/lib/Target/X86/X86CallFrameOptimization.cpp12
-rw-r--r--llvm/lib/Target/X86/X86CallLowering.cpp2
-rw-r--r--llvm/lib/Target/X86/X86CallingConv.td35
-rw-r--r--llvm/lib/Target/X86/X86CmovConversion.cpp7
-rw-r--r--llvm/lib/Target/X86/X86CondBrFolding.cpp2
-rw-r--r--llvm/lib/Target/X86/X86DomainReassignment.cpp6
-rwxr-xr-xllvm/lib/Target/X86/X86EvexToVex.cpp2
-rw-r--r--llvm/lib/Target/X86/X86ExpandPseudo.cpp10
-rw-r--r--llvm/lib/Target/X86/X86FastISel.cpp2
-rw-r--r--llvm/lib/Target/X86/X86FixupBWInsts.cpp24
-rw-r--r--llvm/lib/Target/X86/X86FixupLEAs.cpp7
-rw-r--r--llvm/lib/Target/X86/X86FixupSetCC.cpp50
-rw-r--r--llvm/lib/Target/X86/X86FlagsCopyLowering.cpp92
-rw-r--r--llvm/lib/Target/X86/X86FloatingPoint.cpp48
-rw-r--r--llvm/lib/Target/X86/X86FrameLowering.cpp32
-rw-r--r--llvm/lib/Target/X86/X86ISelDAGToDAG.cpp179
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp4018
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.h65
-rw-r--r--llvm/lib/Target/X86/X86IndirectBranchTracking.cpp6
-rw-r--r--llvm/lib/Target/X86/X86InstrAVX512.td705
-rw-r--r--llvm/lib/Target/X86/X86InstrControl.td23
-rw-r--r--llvm/lib/Target/X86/X86InstrFMA.td35
-rw-r--r--llvm/lib/Target/X86/X86InstrFPStack.td141
-rw-r--r--llvm/lib/Target/X86/X86InstrFormats.td6
-rw-r--r--llvm/lib/Target/X86/X86InstrFragmentsSIMD.td96
-rw-r--r--llvm/lib/Target/X86/X86InstrInfo.cpp175
-rw-r--r--llvm/lib/Target/X86/X86InstrInfo.h14
-rw-r--r--llvm/lib/Target/X86/X86InstrInfo.td61
-rw-r--r--llvm/lib/Target/X86/X86InstrMMX.td10
-rw-r--r--llvm/lib/Target/X86/X86InstrSSE.td560
-rw-r--r--llvm/lib/Target/X86/X86InstrTSX.td2
-rw-r--r--llvm/lib/Target/X86/X86InstructionSelector.cpp87
-rw-r--r--llvm/lib/Target/X86/X86IntrinsicsInfo.h1
-rw-r--r--llvm/lib/Target/X86/X86LegalizerInfo.cpp8
-rw-r--r--llvm/lib/Target/X86/X86MCInstLower.cpp166
-rw-r--r--llvm/lib/Target/X86/X86MacroFusion.cpp183
-rw-r--r--llvm/lib/Target/X86/X86OptimizeLEAs.cpp24
-rw-r--r--llvm/lib/Target/X86/X86PadShortFunction.cpp20
-rw-r--r--llvm/lib/Target/X86/X86PfmCounters.td16
-rw-r--r--llvm/lib/Target/X86/X86RegisterBankInfo.cpp5
-rw-r--r--llvm/lib/Target/X86/X86RegisterBankInfo.h4
-rw-r--r--llvm/lib/Target/X86/X86RegisterInfo.cpp34
-rw-r--r--llvm/lib/Target/X86/X86RegisterInfo.td5
-rw-r--r--llvm/lib/Target/X86/X86RetpolineThunks.cpp12
-rw-r--r--llvm/lib/Target/X86/X86ScheduleAtom.td3
-rw-r--r--llvm/lib/Target/X86/X86ScheduleSLM.td30
-rw-r--r--llvm/lib/Target/X86/X86ScheduleZnver2.td1548
-rw-r--r--llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp12
-rw-r--r--llvm/lib/Target/X86/X86Subtarget.cpp14
-rw-r--r--llvm/lib/Target/X86/X86Subtarget.h36
-rw-r--r--llvm/lib/Target/X86/X86TargetMachine.cpp20
-rw-r--r--llvm/lib/Target/X86/X86TargetTransformInfo.cpp146
-rw-r--r--llvm/lib/Target/X86/X86TargetTransformInfo.h22
-rw-r--r--llvm/lib/Target/X86/X86VZeroUpper.cpp2
-rw-r--r--llvm/lib/Target/X86/X86WinAllocaExpander.cpp16
-rw-r--r--llvm/lib/Target/X86/X86WinEHState.cpp10
-rw-r--r--llvm/lib/Target/XCore/Disassembler/XCoreDisassembler.cpp10
-rw-r--r--llvm/lib/Target/XCore/MCTargetDesc/XCoreInstPrinter.cpp7
-rw-r--r--llvm/lib/Target/XCore/MCTargetDesc/XCoreInstPrinter.h6
-rw-r--r--llvm/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp5
-rw-r--r--llvm/lib/Target/XCore/TargetInfo/XCoreTargetInfo.cpp2
-rw-r--r--llvm/lib/Target/XCore/XCoreAsmPrinter.cpp2
-rw-r--r--llvm/lib/Target/XCore/XCoreISelDAGToDAG.cpp1
-rw-r--r--llvm/lib/Target/XCore/XCoreISelLowering.cpp1
-rw-r--r--llvm/lib/Target/XCore/XCoreInstrInfo.cpp4
-rw-r--r--llvm/lib/Target/XCore/XCoreInstrInfo.h2
-rw-r--r--llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp1
-rw-r--r--llvm/lib/Target/XCore/XCoreRegisterInfo.cpp2
-rw-r--r--llvm/lib/Target/XCore/XCoreTargetMachine.cpp2
-rw-r--r--llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp1
-rw-r--r--llvm/lib/Transforms/CFGuard/CFGuard.cpp305
-rw-r--r--llvm/lib/Transforms/Coroutines/CoroCleanup.cpp12
-rw-r--r--llvm/lib/Transforms/Coroutines/CoroEarly.cpp16
-rw-r--r--llvm/lib/Transforms/Coroutines/CoroElide.cpp17
-rw-r--r--llvm/lib/Transforms/Coroutines/CoroInternal.h11
-rw-r--r--llvm/lib/Transforms/Coroutines/CoroSplit.cpp55
-rw-r--r--llvm/lib/Transforms/Coroutines/Coroutines.cpp39
-rw-r--r--llvm/lib/Transforms/IPO/AlwaysInliner.cpp1
-rw-r--r--llvm/lib/Transforms/IPO/ArgumentPromotion.cpp6
-rw-r--r--llvm/lib/Transforms/IPO/Attributor.cpp2811
-rw-r--r--llvm/lib/Transforms/IPO/BarrierNoopPass.cpp1
-rw-r--r--llvm/lib/Transforms/IPO/BlockExtractor.cpp1
-rw-r--r--llvm/lib/Transforms/IPO/CalledValuePropagation.cpp2
-rw-r--r--llvm/lib/Transforms/IPO/ConstantMerge.cpp1
-rw-r--r--llvm/lib/Transforms/IPO/CrossDSOCFI.cpp1
-rw-r--r--llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp1
-rw-r--r--llvm/lib/Transforms/IPO/ElimAvailExtern.cpp1
-rw-r--r--llvm/lib/Transforms/IPO/ForceFunctionAttrs.cpp2
-rw-r--r--llvm/lib/Transforms/IPO/FunctionAttrs.cpp1
-rw-r--r--llvm/lib/Transforms/IPO/FunctionImport.cpp115
-rw-r--r--llvm/lib/Transforms/IPO/GlobalDCE.cpp2
-rw-r--r--llvm/lib/Transforms/IPO/GlobalOpt.cpp155
-rw-r--r--llvm/lib/Transforms/IPO/GlobalSplit.cpp1
-rw-r--r--llvm/lib/Transforms/IPO/HotColdSplitting.cpp12
-rw-r--r--llvm/lib/Transforms/IPO/IPConstantPropagation.cpp3
-rw-r--r--llvm/lib/Transforms/IPO/IPO.cpp2
-rw-r--r--llvm/lib/Transforms/IPO/InferFunctionAttrs.cpp1
-rw-r--r--llvm/lib/Transforms/IPO/InlineSimple.cpp1
-rw-r--r--llvm/lib/Transforms/IPO/Internalize.cpp1
-rw-r--r--llvm/lib/Transforms/IPO/LoopExtractor.cpp1
-rw-r--r--llvm/lib/Transforms/IPO/LowerTypeTests.cpp3
-rw-r--r--llvm/lib/Transforms/IPO/MergeFunctions.cpp74
-rw-r--r--llvm/lib/Transforms/IPO/PartialInlining.cpp3
-rw-r--r--llvm/lib/Transforms/IPO/PassManagerBuilder.cpp58
-rw-r--r--llvm/lib/Transforms/IPO/PruneEH.cpp3
-rw-r--r--llvm/lib/Transforms/IPO/SCCP.cpp1
-rw-r--r--llvm/lib/Transforms/IPO/SampleProfile.cpp168
-rw-r--r--llvm/lib/Transforms/IPO/StripDeadPrototypes.cpp1
-rw-r--r--llvm/lib/Transforms/IPO/StripSymbols.cpp3
-rw-r--r--llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp1
-rw-r--r--llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp57
-rw-r--r--llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp121
-rw-r--r--llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp17
-rw-r--r--llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp175
-rw-r--r--llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp249
-rw-r--r--llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp70
-rw-r--r--llvm/lib/Transforms/InstCombine/InstCombineInternal.h9
-rw-r--r--llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp50
-rw-r--r--llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp14
-rw-r--r--llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp12
-rw-r--r--llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp181
-rw-r--r--llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp104
-rw-r--r--llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp99
-rw-r--r--llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp95
-rw-r--r--llvm/lib/Transforms/InstCombine/InstructionCombining.cpp201
-rw-r--r--llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp16
-rw-r--r--llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp1
-rw-r--r--llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp8
-rw-r--r--llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp8
-rw-r--r--llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp12
-rw-r--r--llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp61
-rw-r--r--llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp1
-rw-r--r--llvm/lib/Transforms/Instrumentation/InstrOrderFile.cpp3
-rw-r--r--llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp1
-rw-r--r--llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp221
-rw-r--r--llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp3
-rw-r--r--llvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp1
-rw-r--r--llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp3
-rw-r--r--llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp1
-rw-r--r--llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp3
-rw-r--r--llvm/lib/Transforms/ObjCARC/ObjCARCAPElim.cpp1
-rw-r--r--llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp2
-rw-r--r--llvm/lib/Transforms/ObjCARC/ObjCARCExpand.cpp1
-rw-r--r--llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp688
-rw-r--r--llvm/lib/Transforms/ObjCARC/ProvenanceAnalysisEvaluator.cpp1
-rw-r--r--llvm/lib/Transforms/Scalar/ADCE.cpp1
-rw-r--r--llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp1
-rw-r--r--llvm/lib/Transforms/Scalar/BDCE.cpp5
-rw-r--r--llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp4
-rw-r--r--llvm/lib/Transforms/Scalar/ConstantHoisting.cpp33
-rw-r--r--llvm/lib/Transforms/Scalar/ConstantProp.cpp1
-rw-r--r--llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp10
-rw-r--r--llvm/lib/Transforms/Scalar/DCE.cpp41
-rw-r--r--llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp78
-rw-r--r--llvm/lib/Transforms/Scalar/DivRemPairs.cpp1
-rw-r--r--llvm/lib/Transforms/Scalar/EarlyCSE.cpp7
-rw-r--r--llvm/lib/Transforms/Scalar/FlattenCFGPass.cpp1
-rw-r--r--llvm/lib/Transforms/Scalar/Float2Int.cpp2
-rw-r--r--llvm/lib/Transforms/Scalar/GVN.cpp95
-rw-r--r--llvm/lib/Transforms/Scalar/GVNHoist.cpp10
-rw-r--r--llvm/lib/Transforms/Scalar/GVNSink.cpp3
-rw-r--r--llvm/lib/Transforms/Scalar/GuardWidening.cpp99
-rw-r--r--llvm/lib/Transforms/Scalar/IndVarSimplify.cpp50
-rw-r--r--llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp1
-rw-r--r--llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp14
-rw-r--r--llvm/lib/Transforms/Scalar/InstSimplifyPass.cpp1
-rw-r--r--llvm/lib/Transforms/Scalar/JumpThreading.cpp329
-rw-r--r--llvm/lib/Transforms/Scalar/LICM.cpp87
-rw-r--r--llvm/lib/Transforms/Scalar/LoopDataPrefetch.cpp1
-rw-r--r--llvm/lib/Transforms/Scalar/LoopDeletion.cpp1
-rw-r--r--llvm/lib/Transforms/Scalar/LoopDistribute.cpp1
-rw-r--r--llvm/lib/Transforms/Scalar/LoopFuse.cpp87
-rw-r--r--llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp927
-rw-r--r--llvm/lib/Transforms/Scalar/LoopInstSimplify.cpp4
-rw-r--r--llvm/lib/Transforms/Scalar/LoopInterchange.cpp138
-rw-r--r--llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp6
-rw-r--r--llvm/lib/Transforms/Scalar/LoopPredication.cpp253
-rw-r--r--llvm/lib/Transforms/Scalar/LoopRerollPass.cpp3
-rw-r--r--llvm/lib/Transforms/Scalar/LoopRotation.cpp2
-rw-r--r--llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp5
-rw-r--r--llvm/lib/Transforms/Scalar/LoopSink.cpp3
-rw-r--r--llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp5
-rw-r--r--llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp105
-rw-r--r--llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp4
-rw-r--r--llvm/lib/Transforms/Scalar/LoopUnswitch.cpp3
-rw-r--r--llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp1
-rw-r--r--llvm/lib/Transforms/Scalar/LowerAtomic.cpp1
-rw-r--r--llvm/lib/Transforms/Scalar/LowerConstantIntrinsics.cpp1
-rw-r--r--llvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp1
-rw-r--r--llvm/lib/Transforms/Scalar/LowerGuardIntrinsic.cpp3
-rw-r--r--llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp894
-rw-r--r--llvm/lib/Transforms/Scalar/LowerWidenableCondition.cpp1
-rw-r--r--llvm/lib/Transforms/Scalar/MakeGuardsExplicit.cpp23
-rw-r--r--llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp68
-rw-r--r--llvm/lib/Transforms/Scalar/MergeICmps.cpp1
-rw-r--r--llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp1
-rw-r--r--llvm/lib/Transforms/Scalar/NaryReassociate.cpp3
-rw-r--r--llvm/lib/Transforms/Scalar/NewGVN.cpp21
-rw-r--r--llvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp1
-rw-r--r--llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp1
-rw-r--r--llvm/lib/Transforms/Scalar/Reassociate.cpp7
-rw-r--r--llvm/lib/Transforms/Scalar/Reg2Mem.cpp3
-rw-r--r--llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp1
-rw-r--r--llvm/lib/Transforms/Scalar/SCCP.cpp5
-rw-r--r--llvm/lib/Transforms/Scalar/SROA.cpp134
-rw-r--r--llvm/lib/Transforms/Scalar/Scalar.cpp2
-rw-r--r--llvm/lib/Transforms/Scalar/Scalarizer.cpp37
-rw-r--r--llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp3
-rw-r--r--llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp33
-rw-r--r--llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp3
-rw-r--r--llvm/lib/Transforms/Scalar/Sink.cpp3
-rw-r--r--llvm/lib/Transforms/Scalar/SpeculateAroundPHIs.cpp8
-rw-r--r--llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp1
-rw-r--r--llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp3
-rw-r--r--llvm/lib/Transforms/Scalar/StructurizeCFG.cpp2
-rw-r--r--llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp1
-rw-r--r--llvm/lib/Transforms/Scalar/WarnMissedTransforms.cpp1
-rw-r--r--llvm/lib/Transforms/Utils/AddDiscriminators.cpp3
-rw-r--r--llvm/lib/Transforms/Utils/BasicBlockUtils.cpp144
-rw-r--r--llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp1
-rw-r--r--llvm/lib/Transforms/Utils/CanonicalizeAliases.cpp2
-rw-r--r--llvm/lib/Transforms/Utils/CodeExtractor.cpp2
-rw-r--r--llvm/lib/Transforms/Utils/CodeMoverUtils.cpp189
-rw-r--r--llvm/lib/Transforms/Utils/Debugify.cpp (renamed from llvm/tools/opt/Debugify.cpp)32
-rw-r--r--llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp1
-rw-r--r--llvm/lib/Transforms/Utils/FunctionImportUtils.cpp88
-rw-r--r--llvm/lib/Transforms/Utils/GuardUtils.cpp67
-rw-r--r--llvm/lib/Transforms/Utils/InjectTLIMappings.cpp186
-rw-r--r--llvm/lib/Transforms/Utils/InlineFunction.cpp78
-rw-r--r--llvm/lib/Transforms/Utils/InstructionNamer.cpp1
-rw-r--r--llvm/lib/Transforms/Utils/LCSSA.cpp19
-rw-r--r--llvm/lib/Transforms/Utils/LibCallsShrinkWrap.cpp1
-rw-r--r--llvm/lib/Transforms/Utils/Local.cpp99
-rw-r--r--llvm/lib/Transforms/Utils/LoopRotationUtils.cpp19
-rw-r--r--llvm/lib/Transforms/Utils/LoopSimplify.cpp1
-rw-r--r--llvm/lib/Transforms/Utils/LoopUnroll.cpp3
-rw-r--r--llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp5
-rw-r--r--llvm/lib/Transforms/Utils/LoopUnrollPeel.cpp56
-rw-r--r--llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp5
-rw-r--r--llvm/lib/Transforms/Utils/LoopUtils.cpp30
-rw-r--r--llvm/lib/Transforms/Utils/LoopVersioning.cpp2
-rw-r--r--llvm/lib/Transforms/Utils/LowerInvoke.cpp1
-rw-r--r--llvm/lib/Transforms/Utils/LowerSwitch.cpp1
-rw-r--r--llvm/lib/Transforms/Utils/Mem2Reg.cpp1
-rw-r--r--llvm/lib/Transforms/Utils/MetaRenamer.cpp1
-rw-r--r--llvm/lib/Transforms/Utils/MisExpect.cpp1
-rw-r--r--llvm/lib/Transforms/Utils/ModuleUtils.cpp29
-rw-r--r--llvm/lib/Transforms/Utils/NameAnonGlobals.cpp2
-rw-r--r--llvm/lib/Transforms/Utils/PredicateInfo.cpp1
-rw-r--r--llvm/lib/Transforms/Utils/SimplifyCFG.cpp73
-rw-r--r--llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp119
-rw-r--r--llvm/lib/Transforms/Utils/SizeOpts.cpp88
-rw-r--r--llvm/lib/Transforms/Utils/StripGCRelocates.cpp1
-rw-r--r--llvm/lib/Transforms/Utils/StripNonLineTableDebugInfo.cpp1
-rw-r--r--llvm/lib/Transforms/Utils/SymbolRewriter.cpp1
-rw-r--r--llvm/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp6
-rw-r--r--llvm/lib/Transforms/Utils/Utils.cpp1
-rw-r--r--llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp5
-rw-r--r--llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp14
-rw-r--r--llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h11
-rw-r--r--llvm/lib/Transforms/Vectorize/LoopVectorize.cpp1011
-rw-r--r--llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp965
-rw-r--r--llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h44
-rw-r--r--llvm/lib/Transforms/Vectorize/VPlan.cpp61
-rw-r--r--llvm/lib/Transforms/Vectorize/VPlan.h365
-rw-r--r--llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp (renamed from llvm/lib/Transforms/Vectorize/VPlanHCFGTransforms.cpp)14
-rw-r--r--llvm/lib/Transforms/Vectorize/VPlanTransforms.h (renamed from llvm/lib/Transforms/Vectorize/VPlanHCFGTransforms.h)12
-rw-r--r--llvm/lib/Transforms/Vectorize/VPlanValue.h2
-rw-r--r--llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp1
-rw-r--r--llvm/lib/XRay/InstrumentationMap.cpp22
-rw-r--r--llvm/tools/bugpoint/CrashDebugger.cpp163
-rw-r--r--llvm/tools/bugpoint/bugpoint.cpp21
-rw-r--r--llvm/tools/llc/llc.cpp28
-rw-r--r--llvm/tools/lli/RemoteJITUtils.h2
-rw-r--r--llvm/tools/lli/lli.cpp29
-rw-r--r--llvm/tools/llvm-ar/llvm-ar.cpp116
-rw-r--r--llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp5
-rw-r--r--llvm/tools/llvm-cov/CodeCoverage.cpp5
-rw-r--r--llvm/tools/llvm-cov/CoverageExporterJson.cpp16
-rw-r--r--llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp32
-rw-r--r--llvm/tools/llvm-diff/DifferenceEngine.cpp9
-rw-r--r--llvm/tools/llvm-dis/llvm-dis.cpp100
-rw-r--r--llvm/tools/llvm-dwarfdump/Statistics.cpp153
-rw-r--r--llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp2
-rw-r--r--llvm/tools/llvm-lto2/llvm-lto2.cpp2
-rw-r--r--llvm/tools/llvm-mc/Disassembler.cpp9
-rw-r--r--llvm/tools/llvm-mc/Disassembler.h3
-rw-r--r--llvm/tools/llvm-mc/llvm-mc.cpp5
-rw-r--r--llvm/tools/llvm-mca/Views/BottleneckAnalysis.cpp2
-rw-r--r--llvm/tools/llvm-mca/Views/DispatchStatistics.cpp3
-rw-r--r--llvm/tools/llvm-mca/Views/InstructionInfoView.cpp2
-rw-r--r--llvm/tools/llvm-mca/Views/ResourcePressureView.cpp2
-rw-r--r--llvm/tools/llvm-mca/Views/RetireControlUnitStatistics.cpp2
-rw-r--r--llvm/tools/llvm-mca/Views/SchedulerStatistics.cpp2
-rw-r--r--llvm/tools/llvm-mca/Views/SummaryView.cpp2
-rw-r--r--llvm/tools/llvm-mca/Views/TimelineView.cpp4
-rw-r--r--llvm/tools/llvm-mca/llvm-mca.cpp6
-rw-r--r--llvm/tools/llvm-nm/llvm-nm.cpp13
-rw-r--r--llvm/tools/llvm-objcopy/COFF/COFFObjcopy.cpp13
-rw-r--r--llvm/tools/llvm-objcopy/COFF/Object.h6
-rw-r--r--llvm/tools/llvm-objcopy/COFF/Reader.cpp4
-rw-r--r--llvm/tools/llvm-objcopy/COFF/Writer.cpp22
-rw-r--r--llvm/tools/llvm-objcopy/CommonOpts.td8
-rw-r--r--llvm/tools/llvm-objcopy/CopyConfig.cpp89
-rw-r--r--llvm/tools/llvm-objcopy/CopyConfig.h12
-rw-r--r--llvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp29
-rw-r--r--llvm/tools/llvm-objcopy/ELF/Object.cpp207
-rw-r--r--llvm/tools/llvm-objcopy/ELF/Object.h84
-rw-r--r--llvm/tools/llvm-objcopy/InstallNameToolOpts.td22
-rw-r--r--llvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp11
-rw-r--r--llvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp200
-rw-r--r--llvm/tools/llvm-objcopy/MachO/MachOReader.cpp40
-rw-r--r--llvm/tools/llvm-objcopy/MachO/MachOWriter.cpp19
-rw-r--r--llvm/tools/llvm-objcopy/MachO/Object.cpp64
-rw-r--r--llvm/tools/llvm-objcopy/MachO/Object.h82
-rw-r--r--llvm/tools/llvm-objcopy/llvm-objcopy.cpp20
-rw-r--r--llvm/tools/llvm-objdump/ELFDump.cpp12
-rw-r--r--llvm/tools/llvm-objdump/MachODump.cpp37
-rw-r--r--llvm/tools/llvm-objdump/llvm-objdump.cpp56
-rw-r--r--llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp2
-rw-r--r--llvm/tools/llvm-pdbutil/InputFile.h2
-rw-r--r--llvm/tools/llvm-readobj/ARMWinEHPrinter.cpp8
-rw-r--r--llvm/tools/llvm-readobj/ELFDumper.cpp1391
-rw-r--r--llvm/tools/llvm-readobj/ObjDumper.cpp2
-rw-r--r--llvm/tools/llvm-readobj/ObjDumper.h1
-rw-r--r--llvm/tools/llvm-readobj/Win64EHDumper.cpp54
-rw-r--r--llvm/tools/llvm-readobj/XCOFFDumper.cpp13
-rw-r--r--llvm/tools/llvm-readobj/llvm-readobj.cpp9
-rw-r--r--llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp5
-rw-r--r--llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp24
-rw-r--r--llvm/tools/llvm-xray/xray-account.cpp23
-rw-r--r--llvm/tools/llvm-xray/xray-converter.cpp15
-rw-r--r--llvm/tools/llvm-xray/xray-extract.cpp6
-rw-r--r--llvm/tools/llvm-xray/xray-graph-diff.cpp43
-rw-r--r--llvm/tools/llvm-xray/xray-graph.cpp23
-rw-r--r--llvm/tools/llvm-xray/xray-stacks.cpp9
-rw-r--r--llvm/tools/opt/NewPMDriver.cpp16
-rw-r--r--llvm/tools/opt/PassPrinters.cpp38
-rw-r--r--llvm/tools/opt/PassPrinters.h4
-rw-r--r--llvm/tools/opt/opt.cpp72
-rw-r--r--llvm/utils/TableGen/AsmMatcherEmitter.cpp2
-rw-r--r--llvm/utils/TableGen/AsmWriterEmitter.cpp276
-rw-r--r--llvm/utils/TableGen/AsmWriterInst.h2
-rw-r--r--llvm/utils/TableGen/CodeEmitterGen.cpp2
-rw-r--r--llvm/utils/TableGen/CodeGenDAGPatterns.cpp80
-rw-r--r--llvm/utils/TableGen/CodeGenDAGPatterns.h16
-rw-r--r--llvm/utils/TableGen/CodeGenInstruction.cpp23
-rw-r--r--llvm/utils/TableGen/CodeGenInstruction.h24
-rw-r--r--llvm/utils/TableGen/CodeGenIntrinsics.h4
-rw-r--r--llvm/utils/TableGen/CodeGenRegisters.h8
-rw-r--r--llvm/utils/TableGen/CodeGenTarget.cpp21
-rw-r--r--llvm/utils/TableGen/CodeGenTarget.h4
-rw-r--r--llvm/utils/TableGen/DAGISelMatcherGen.cpp1
-rw-r--r--llvm/utils/TableGen/DFAPacketizerEmitter.cpp478
-rw-r--r--llvm/utils/TableGen/FixedLenDecoderEmitter.cpp3
-rw-r--r--llvm/utils/TableGen/GICombinerEmitter.cpp575
-rw-r--r--llvm/utils/TableGen/GlobalISel/GIMatchDag.cpp138
-rw-r--r--llvm/utils/TableGen/GlobalISel/GIMatchDag.h243
-rw-r--r--llvm/utils/TableGen/GlobalISel/GIMatchDagEdge.cpp38
-rw-r--r--llvm/utils/TableGen/GlobalISel/GIMatchDagEdge.h70
-rw-r--r--llvm/utils/TableGen/GlobalISel/GIMatchDagInstr.cpp48
-rw-r--r--llvm/utils/TableGen/GlobalISel/GIMatchDagInstr.h115
-rw-r--r--llvm/utils/TableGen/GlobalISel/GIMatchDagOperands.cpp153
-rw-r--r--llvm/utils/TableGen/GlobalISel/GIMatchDagOperands.h133
-rw-r--r--llvm/utils/TableGen/GlobalISel/GIMatchDagPredicate.cpp69
-rw-r--r--llvm/utils/TableGen/GlobalISel/GIMatchDagPredicate.h141
-rw-r--r--llvm/utils/TableGen/GlobalISel/GIMatchDagPredicateDependencyEdge.cpp37
-rw-r--r--llvm/utils/TableGen/GlobalISel/GIMatchDagPredicateDependencyEdge.h60
-rw-r--r--llvm/utils/TableGen/GlobalISel/GIMatchTree.cpp777
-rw-r--r--llvm/utils/TableGen/GlobalISel/GIMatchTree.h629
-rw-r--r--llvm/utils/TableGen/GlobalISelEmitter.cpp184
-rw-r--r--llvm/utils/TableGen/InstrDocsEmitter.cpp1
-rw-r--r--llvm/utils/TableGen/InstrInfoEmitter.cpp6
-rw-r--r--llvm/utils/TableGen/IntrinsicEmitter.cpp142
-rw-r--r--llvm/utils/TableGen/OptEmitter.cpp84
-rw-r--r--llvm/utils/TableGen/OptEmitter.h16
-rw-r--r--llvm/utils/TableGen/OptParserEmitter.cpp75
-rw-r--r--llvm/utils/TableGen/OptRSTEmitter.cpp86
-rw-r--r--llvm/utils/TableGen/RISCVCompressInstEmitter.cpp218
-rw-r--r--llvm/utils/TableGen/RegisterInfoEmitter.cpp2
-rw-r--r--llvm/utils/TableGen/SearchableTableEmitter.cpp4
-rw-r--r--llvm/utils/TableGen/SequenceToOffsetTable.h4
-rw-r--r--llvm/utils/TableGen/TableGen.cpp20
-rw-r--r--llvm/utils/TableGen/TableGenBackends.h7
-rw-r--r--llvm/utils/TableGen/X86DisassemblerTables.cpp88
-rw-r--r--llvm/utils/TableGen/X86FoldTablesEmitter.cpp6
-rw-r--r--llvm/utils/TableGen/X86RecognizableInstr.cpp82
1930 files changed, 85089 insertions, 36779 deletions
diff --git a/llvm/include/llvm-c/Analysis.h b/llvm/include/llvm-c/Analysis.h
index cb9e8ece3c53..270b145a4d27 100644
--- a/llvm/include/llvm-c/Analysis.h
+++ b/llvm/include/llvm-c/Analysis.h
@@ -19,11 +19,10 @@
#ifndef LLVM_C_ANALYSIS_H
#define LLVM_C_ANALYSIS_H
+#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+LLVM_C_EXTERN_C_BEGIN
/**
* @defgroup LLVMCAnalysis Analysis
@@ -58,8 +57,6 @@ void LLVMViewFunctionCFGOnly(LLVMValueRef Fn);
* @}
*/
-#ifdef __cplusplus
-}
-#endif
+LLVM_C_EXTERN_C_END
#endif
diff --git a/llvm/include/llvm-c/BitReader.h b/llvm/include/llvm-c/BitReader.h
index b307ee979f8a..012c0e63d3bb 100644
--- a/llvm/include/llvm-c/BitReader.h
+++ b/llvm/include/llvm-c/BitReader.h
@@ -19,11 +19,10 @@
#ifndef LLVM_C_BITREADER_H
#define LLVM_C_BITREADER_H
+#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+LLVM_C_EXTERN_C_BEGIN
/**
* @defgroup LLVMCBitReader Bit Reader
@@ -78,8 +77,6 @@ LLVMBool LLVMGetBitcodeModule2(LLVMMemoryBufferRef MemBuf, LLVMModuleRef *OutM);
* @}
*/
-#ifdef __cplusplus
-}
-#endif
+LLVM_C_EXTERN_C_END
#endif
diff --git a/llvm/include/llvm-c/BitWriter.h b/llvm/include/llvm-c/BitWriter.h
index 187051555b9a..ea84b6593d12 100644
--- a/llvm/include/llvm-c/BitWriter.h
+++ b/llvm/include/llvm-c/BitWriter.h
@@ -19,11 +19,10 @@
#ifndef LLVM_C_BITWRITER_H
#define LLVM_C_BITWRITER_H
+#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+LLVM_C_EXTERN_C_BEGIN
/**
* @defgroup LLVMCBitWriter Bit Writer
@@ -52,8 +51,6 @@ LLVMMemoryBufferRef LLVMWriteBitcodeToMemoryBuffer(LLVMModuleRef M);
* @}
*/
-#ifdef __cplusplus
-}
-#endif
+LLVM_C_EXTERN_C_END
#endif
diff --git a/llvm/include/llvm-c/Comdat.h b/llvm/include/llvm-c/Comdat.h
index 81fee3fc9a6b..45b4007695fd 100644
--- a/llvm/include/llvm-c/Comdat.h
+++ b/llvm/include/llvm-c/Comdat.h
@@ -14,11 +14,10 @@
#ifndef LLVM_C_COMDAT_H
#define LLVM_C_COMDAT_H
+#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+LLVM_C_EXTERN_C_BEGIN
typedef enum {
LLVMAnyComdatSelectionKind, ///< The linker may choose any COMDAT.
@@ -68,8 +67,6 @@ LLVMComdatSelectionKind LLVMGetComdatSelectionKind(LLVMComdatRef C);
*/
void LLVMSetComdatSelectionKind(LLVMComdatRef C, LLVMComdatSelectionKind Kind);
-#ifdef __cplusplus
-}
-#endif
+LLVM_C_EXTERN_C_END
#endif
diff --git a/llvm/include/llvm-c/Core.h b/llvm/include/llvm-c/Core.h
index b84970956666..7a39731d3e0c 100644
--- a/llvm/include/llvm-c/Core.h
+++ b/llvm/include/llvm-c/Core.h
@@ -16,11 +16,10 @@
#define LLVM_C_CORE_H
#include "llvm-c/ErrorHandling.h"
+#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+LLVM_C_EXTERN_C_BEGIN
/**
* @defgroup LLVMC LLVM-C: C interface to LLVM
@@ -127,6 +126,7 @@ typedef enum {
LLVMShuffleVector = 52,
LLVMExtractValue = 53,
LLVMInsertValue = 54,
+ LLVMFreeze = 68,
/* Atomic operators */
LLVMFence = 55,
@@ -1600,6 +1600,7 @@ LLVMTypeRef LLVMX86MMXType(void);
macro(ExtractValueInst) \
macro(LoadInst) \
macro(VAArgInst) \
+ macro(FreezeInst) \
macro(AtomicCmpXchgInst) \
macro(AtomicRMWInst) \
macro(FenceInst)
@@ -3907,6 +3908,8 @@ LLVMValueRef LLVMBuildExtractValue(LLVMBuilderRef, LLVMValueRef AggVal,
LLVMValueRef LLVMBuildInsertValue(LLVMBuilderRef, LLVMValueRef AggVal,
LLVMValueRef EltVal, unsigned Index,
const char *Name);
+LLVMValueRef LLVMBuildFreeze(LLVMBuilderRef, LLVMValueRef Val,
+ const char *Name);
LLVMValueRef LLVMBuildIsNull(LLVMBuilderRef, LLVMValueRef Val,
const char *Name);
@@ -4086,8 +4089,6 @@ LLVMBool LLVMIsMultithreaded(void);
* @}
*/
-#ifdef __cplusplus
-}
-#endif
+LLVM_C_EXTERN_C_END
#endif /* LLVM_C_CORE_H */
diff --git a/llvm/include/llvm-c/DebugInfo.h b/llvm/include/llvm-c/DebugInfo.h
index 41e9f96bbb92..e933fe4b3f92 100644
--- a/llvm/include/llvm-c/DebugInfo.h
+++ b/llvm/include/llvm-c/DebugInfo.h
@@ -17,10 +17,9 @@
#define LLVM_C_DEBUGINFO_H
#include "llvm-c/Core.h"
+#include "llvm-c/ExternC.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+LLVM_C_EXTERN_C_BEGIN
/**
* Debug info flags.
@@ -284,15 +283,15 @@ LLVMDIBuilderCreateFile(LLVMDIBuilderRef Builder, const char *Filename,
* \param ConfigMacrosLen The length of the C string passed to \c ConfigMacros.
* \param IncludePath The path to the module map file.
* \param IncludePathLen The length of the C string passed to \c IncludePath.
- * \param ISysRoot The Clang system root (value of -isysroot).
- * \param ISysRootLen The length of the C string passed to \c ISysRoot.
+ * \param SysRoot The Clang system root (value of -isysroot).
+ * \param SysRootLen The length of the C string passed to \c SysRoot.
*/
LLVMMetadataRef
LLVMDIBuilderCreateModule(LLVMDIBuilderRef Builder, LLVMMetadataRef ParentScope,
const char *Name, size_t NameLen,
const char *ConfigMacros, size_t ConfigMacrosLen,
const char *IncludePath, size_t IncludePathLen,
- const char *ISysRoot, size_t ISysRootLen);
+ const char *SysRoot, size_t SysRootLen);
/**
* Creates a new descriptor for a namespace with the specified parent scope.
@@ -875,7 +874,7 @@ LLVMMetadataRef
LLVMDIBuilderCreateTypedef(LLVMDIBuilderRef Builder, LLVMMetadataRef Type,
const char *Name, size_t NameLen,
LLVMMetadataRef File, unsigned LineNo,
- LLVMMetadataRef Scope);
+ LLVMMetadataRef Scope, uint32_t AlignInBits);
/**
* Create debugging information entry to establish inheritance relationship
@@ -1353,8 +1352,6 @@ void LLVMInstructionSetDebugLoc(LLVMValueRef Inst, LLVMMetadataRef Loc);
*/
LLVMMetadataKind LLVMGetMetadataKind(LLVMMetadataRef Metadata);
-#ifdef __cplusplus
-} /* end extern "C" */
-#endif
+LLVM_C_EXTERN_C_END
#endif
diff --git a/llvm/include/llvm-c/Disassembler.h b/llvm/include/llvm-c/Disassembler.h
index 3adcc3c47a3f..b1cb35da6687 100644
--- a/llvm/include/llvm-c/Disassembler.h
+++ b/llvm/include/llvm-c/Disassembler.h
@@ -16,6 +16,7 @@
#define LLVM_C_DISASSEMBLER_H
#include "llvm-c/DisassemblerTypes.h"
+#include "llvm-c/ExternC.h"
/**
* @defgroup LLVMCDisassembler Disassembler
@@ -24,9 +25,7 @@
* @{
*/
-#ifdef __cplusplus
-extern "C" {
-#endif /* !defined(__cplusplus) */
+LLVM_C_EXTERN_C_BEGIN
/**
* Create a disassembler for the TripleName. Symbolic disassembly is supported
@@ -106,8 +105,6 @@ size_t LLVMDisasmInstruction(LLVMDisasmContextRef DC, uint8_t *Bytes,
* @}
*/
-#ifdef __cplusplus
-}
-#endif /* !defined(__cplusplus) */
+LLVM_C_EXTERN_C_END
#endif /* LLVM_C_DISASSEMBLER_H */
diff --git a/llvm/include/llvm-c/Error.h b/llvm/include/llvm-c/Error.h
index 52943063c697..92f81bf38304 100644
--- a/llvm/include/llvm-c/Error.h
+++ b/llvm/include/llvm-c/Error.h
@@ -14,9 +14,9 @@
#ifndef LLVM_C_ERROR_H
#define LLVM_C_ERROR_H
-#ifdef __cplusplus
-extern "C" {
-#endif
+#include "llvm-c/ExternC.h"
+
+LLVM_C_EXTERN_C_BEGIN
#define LLVMErrorSuccess 0
@@ -62,8 +62,6 @@ void LLVMDisposeErrorMessage(char *ErrMsg);
*/
LLVMErrorTypeId LLVMGetStringErrorTypeId(void);
-#ifdef __cplusplus
-}
-#endif
+LLVM_C_EXTERN_C_END
#endif
diff --git a/llvm/include/llvm-c/ErrorHandling.h b/llvm/include/llvm-c/ErrorHandling.h
index 4927349d8983..c6f7ff3ed693 100644
--- a/llvm/include/llvm-c/ErrorHandling.h
+++ b/llvm/include/llvm-c/ErrorHandling.h
@@ -14,9 +14,9 @@
#ifndef LLVM_C_ERROR_HANDLING_H
#define LLVM_C_ERROR_HANDLING_H
-#ifdef __cplusplus
-extern "C" {
-#endif
+#include "llvm-c/ExternC.h"
+
+LLVM_C_EXTERN_C_BEGIN
typedef void (*LLVMFatalErrorHandler)(const char *Reason);
@@ -42,8 +42,6 @@ void LLVMResetFatalErrorHandler(void);
*/
void LLVMEnablePrettyStackTrace(void);
-#ifdef __cplusplus
-}
-#endif
+LLVM_C_EXTERN_C_END
#endif
diff --git a/llvm/include/llvm-c/ExecutionEngine.h b/llvm/include/llvm-c/ExecutionEngine.h
index ef714cd06384..f31b97ad7623 100644
--- a/llvm/include/llvm-c/ExecutionEngine.h
+++ b/llvm/include/llvm-c/ExecutionEngine.h
@@ -19,13 +19,12 @@
#ifndef LLVM_C_EXECUTIONENGINE_H
#define LLVM_C_EXECUTIONENGINE_H
+#include "llvm-c/ExternC.h"
#include "llvm-c/Target.h"
#include "llvm-c/TargetMachine.h"
#include "llvm-c/Types.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+LLVM_C_EXTERN_C_BEGIN
/**
* @defgroup LLVMCExecutionEngine Execution Engine
@@ -193,8 +192,6 @@ LLVMJITEventListenerRef LLVMCreatePerfJITEventListener(void);
* @}
*/
-#ifdef __cplusplus
-}
-#endif /* defined(__cplusplus) */
+LLVM_C_EXTERN_C_END
#endif
diff --git a/llvm/include/llvm-c/ExternC.h b/llvm/include/llvm-c/ExternC.h
new file mode 100644
index 000000000000..4240f7c31a3b
--- /dev/null
+++ b/llvm/include/llvm-c/ExternC.h
@@ -0,0 +1,39 @@
+/*===- llvm-c/ExternC.h - Wrapper for 'extern "C"' ----------------*- C -*-===*\
+|* *|
+|* Part of the LLVM Project, under the Apache License v2.0 with LLVM *|
+|* Exceptions. *|
+|* See https://llvm.org/LICENSE.txt for license information. *|
+|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *|
+|* *|
+|*===----------------------------------------------------------------------===*|
+|* *|
+|* This file defines an 'extern "C"' wrapper *|
+|* *|
+\*===----------------------------------------------------------------------===*/
+
+#ifndef LLVM_C_EXTERN_C_H
+#define LLVM_C_EXTERN_C_H
+
+#ifdef __clang__
+#define LLVM_C_STRICT_PROTOTYPES_BEGIN \
+ _Pragma("clang diagnostic push") \
+ _Pragma("clang diagnostic error \"-Wstrict-prototypes\"")
+#define LLVM_C_STRICT_PROTOTYPES_END _Pragma("clang diagnostic pop")
+#else
+#define LLVM_C_STRICT_PROTOTYPES_BEGIN
+#define LLVM_C_STRICT_PROTOTYPES_END
+#endif
+
+#ifdef __cplusplus
+#define LLVM_C_EXTERN_C_BEGIN \
+ extern "C" { \
+ LLVM_C_STRICT_PROTOTYPES_BEGIN
+#define LLVM_C_EXTERN_C_END \
+ LLVM_C_STRICT_PROTOTYPES_END \
+ }
+#else
+#define LLVM_C_EXTERN_C_BEGIN LLVM_C_STRICT_PROTOTYPES_BEGIN
+#define LLVM_C_EXTERN_C_END LLVM_C_STRICT_PROTOTYPES_END
+#endif
+
+#endif
diff --git a/llvm/include/llvm-c/IRReader.h b/llvm/include/llvm-c/IRReader.h
index 4d0b696e9583..5a3f633c3d91 100644
--- a/llvm/include/llvm-c/IRReader.h
+++ b/llvm/include/llvm-c/IRReader.h
@@ -14,11 +14,10 @@
#ifndef LLVM_C_IRREADER_H
#define LLVM_C_IRREADER_H
+#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+LLVM_C_EXTERN_C_BEGIN
/**
* Read LLVM IR from a memory buffer and convert it into an in-memory Module
@@ -33,8 +32,6 @@ LLVMBool LLVMParseIRInContext(LLVMContextRef ContextRef,
LLVMMemoryBufferRef MemBuf, LLVMModuleRef *OutM,
char **OutMessage);
-#ifdef __cplusplus
-}
-#endif
+LLVM_C_EXTERN_C_END
#endif
diff --git a/llvm/include/llvm-c/Initialization.h b/llvm/include/llvm-c/Initialization.h
index 36c41dbd8d31..0d59de8728c8 100644
--- a/llvm/include/llvm-c/Initialization.h
+++ b/llvm/include/llvm-c/Initialization.h
@@ -16,11 +16,10 @@
#ifndef LLVM_C_INITIALIZATION_H
#define LLVM_C_INITIALIZATION_H
+#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+LLVM_C_EXTERN_C_BEGIN
/**
* @defgroup LLVMCInitialization Initialization Routines
@@ -49,8 +48,6 @@ void LLVMInitializeTarget(LLVMPassRegistryRef R);
* @}
*/
-#ifdef __cplusplus
-}
-#endif
+LLVM_C_EXTERN_C_END
#endif
diff --git a/llvm/include/llvm-c/LinkTimeOptimizer.h b/llvm/include/llvm-c/LinkTimeOptimizer.h
index 19b4f5cf7491..9ae65b8fe5e0 100644
--- a/llvm/include/llvm-c/LinkTimeOptimizer.h
+++ b/llvm/include/llvm-c/LinkTimeOptimizer.h
@@ -15,9 +15,9 @@
#ifndef LLVM_C_LINKTIMEOPTIMIZER_H
#define LLVM_C_LINKTIMEOPTIMIZER_H
-#ifdef __cplusplus
-extern "C" {
-#endif
+#include "llvm-c/ExternC.h"
+
+LLVM_C_EXTERN_C_BEGIN
/**
* @defgroup LLVMCLinkTimeOptimizer Link Time Optimization
@@ -61,8 +61,6 @@ extern "C" {
* @}
*/
-#ifdef __cplusplus
-}
-#endif
+ LLVM_C_EXTERN_C_END
#endif
diff --git a/llvm/include/llvm-c/Linker.h b/llvm/include/llvm-c/Linker.h
index 908513041661..1ad9cc958753 100644
--- a/llvm/include/llvm-c/Linker.h
+++ b/llvm/include/llvm-c/Linker.h
@@ -14,11 +14,10 @@
#ifndef LLVM_C_LINKER_H
#define LLVM_C_LINKER_H
+#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+LLVM_C_EXTERN_C_BEGIN
/* This enum is provided for backwards-compatibility only. It has no effect. */
typedef enum {
@@ -34,8 +33,6 @@ typedef enum {
*/
LLVMBool LLVMLinkModules2(LLVMModuleRef Dest, LLVMModuleRef Src);
-#ifdef __cplusplus
-}
-#endif
+LLVM_C_EXTERN_C_END
#endif
diff --git a/llvm/include/llvm-c/Object.h b/llvm/include/llvm-c/Object.h
index 1e9b703a68ff..9a9596aaa08c 100644
--- a/llvm/include/llvm-c/Object.h
+++ b/llvm/include/llvm-c/Object.h
@@ -19,12 +19,11 @@
#ifndef LLVM_C_OBJECT_H
#define LLVM_C_OBJECT_H
+#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
#include "llvm/Config/llvm-config.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+LLVM_C_EXTERN_C_BEGIN
/**
* @defgroup LLVMCObject Object file reading and writing
@@ -226,8 +225,6 @@ LLVMBool LLVMIsSymbolIteratorAtEnd(LLVMObjectFileRef ObjectFile,
* @}
*/
-#ifdef __cplusplus
-}
-#endif /* defined(__cplusplus) */
+LLVM_C_EXTERN_C_END
#endif
diff --git a/llvm/include/llvm-c/OrcBindings.h b/llvm/include/llvm-c/OrcBindings.h
index 9e92371b5a3a..11cdade7c26f 100644
--- a/llvm/include/llvm-c/OrcBindings.h
+++ b/llvm/include/llvm-c/OrcBindings.h
@@ -23,12 +23,11 @@
#define LLVM_C_ORCBINDINGS_H
#include "llvm-c/Error.h"
+#include "llvm-c/ExternC.h"
#include "llvm-c/Object.h"
#include "llvm-c/TargetMachine.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+LLVM_C_EXTERN_C_BEGIN
typedef struct LLVMOrcOpaqueJITStack *LLVMOrcJITStackRef;
typedef uint64_t LLVMOrcModuleHandle;
@@ -165,8 +164,6 @@ void LLVMOrcRegisterJITEventListener(LLVMOrcJITStackRef JITStack, LLVMJITEventLi
*/
void LLVMOrcUnregisterJITEventListener(LLVMOrcJITStackRef JITStack, LLVMJITEventListenerRef L);
-#ifdef __cplusplus
-}
-#endif /* extern "C" */
+LLVM_C_EXTERN_C_END
#endif /* LLVM_C_ORCBINDINGS_H */
diff --git a/llvm/include/llvm-c/Remarks.h b/llvm/include/llvm-c/Remarks.h
index 5444aebddd60..ffe647a6554a 100644
--- a/llvm/include/llvm-c/Remarks.h
+++ b/llvm/include/llvm-c/Remarks.h
@@ -15,14 +15,16 @@
#ifndef LLVM_C_REMARKS_H
#define LLVM_C_REMARKS_H
+#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
#ifdef __cplusplus
#include <cstddef>
-extern "C" {
#else
#include <stddef.h>
#endif /* !defined(__cplusplus) */
+LLVM_C_EXTERN_C_BEGIN
+
/**
* @defgroup LLVMCREMARKS Remarks
* @ingroup LLVMC
@@ -337,8 +339,6 @@ extern uint32_t LLVMRemarkVersion(void);
* @} // endgoup LLVMCREMARKS
*/
-#ifdef __cplusplus
-}
-#endif /* !defined(__cplusplus) */
+LLVM_C_EXTERN_C_END
#endif /* LLVM_C_REMARKS_H */
diff --git a/llvm/include/llvm-c/Support.h b/llvm/include/llvm-c/Support.h
index 097f784246c5..866df32efa98 100644
--- a/llvm/include/llvm-c/Support.h
+++ b/llvm/include/llvm-c/Support.h
@@ -15,11 +15,10 @@
#define LLVM_C_SUPPORT_H
#include "llvm-c/DataTypes.h"
+#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+LLVM_C_EXTERN_C_BEGIN
/**
* This function permanently loads the dynamic library at the given path.
@@ -58,8 +57,6 @@ void *LLVMSearchForAddressOfSymbol(const char *symbolName);
*/
void LLVMAddSymbol(const char *symbolName, void *symbolValue);
-#ifdef __cplusplus
-}
-#endif
+LLVM_C_EXTERN_C_END
#endif
diff --git a/llvm/include/llvm-c/Target.h b/llvm/include/llvm-c/Target.h
index 4ef641eaf232..518b46d55bc3 100644
--- a/llvm/include/llvm-c/Target.h
+++ b/llvm/include/llvm-c/Target.h
@@ -19,12 +19,11 @@
#ifndef LLVM_C_TARGET_H
#define LLVM_C_TARGET_H
+#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
#include "llvm/Config/llvm-config.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+LLVM_C_EXTERN_C_BEGIN
/**
* @defgroup LLVMCTarget Target information
@@ -288,8 +287,6 @@ unsigned long long LLVMOffsetOfElement(LLVMTargetDataRef TD,
* @}
*/
-#ifdef __cplusplus
-}
-#endif /* defined(__cplusplus) */
+LLVM_C_EXTERN_C_END
#endif
diff --git a/llvm/include/llvm-c/TargetMachine.h b/llvm/include/llvm-c/TargetMachine.h
index 28d7c096871e..f82edd948b59 100644
--- a/llvm/include/llvm-c/TargetMachine.h
+++ b/llvm/include/llvm-c/TargetMachine.h
@@ -19,12 +19,12 @@
#ifndef LLVM_C_TARGETMACHINE_H
#define LLVM_C_TARGETMACHINE_H
+#include "llvm-c/ExternC.h"
#include "llvm-c/Target.h"
#include "llvm-c/Types.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+LLVM_C_EXTERN_C_BEGIN
+
typedef struct LLVMOpaqueTargetMachine *LLVMTargetMachineRef;
typedef struct LLVMTarget *LLVMTargetRef;
@@ -156,8 +156,6 @@ char* LLVMGetHostCPUFeatures(void);
/** Adds the target-specific analysis passes to the pass manager. */
void LLVMAddAnalysisPasses(LLVMTargetMachineRef T, LLVMPassManagerRef PM);
-#ifdef __cplusplus
-}
-#endif
+LLVM_C_EXTERN_C_END
#endif
diff --git a/llvm/include/llvm-c/Transforms/AggressiveInstCombine.h b/llvm/include/llvm-c/Transforms/AggressiveInstCombine.h
index c0b0141c3da1..db061a7ad1fc 100644
--- a/llvm/include/llvm-c/Transforms/AggressiveInstCombine.h
+++ b/llvm/include/llvm-c/Transforms/AggressiveInstCombine.h
@@ -15,11 +15,10 @@
#ifndef LLVM_C_TRANSFORMS_AGGRESSIVEINSTCOMBINE_H
#define LLVM_C_TRANSFORMS_AGGRESSIVEINSTCOMBINE_H
+#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+LLVM_C_EXTERN_C_BEGIN
/**
* @defgroup LLVMCTransformsAggressiveInstCombine Aggressive Instruction Combining transformations
@@ -35,9 +34,7 @@ void LLVMAddAggressiveInstCombinerPass(LLVMPassManagerRef PM);
* @}
*/
-#ifdef __cplusplus
-}
-#endif /* defined(__cplusplus) */
+LLVM_C_EXTERN_C_END
#endif
diff --git a/llvm/include/llvm-c/Transforms/Coroutines.h b/llvm/include/llvm-c/Transforms/Coroutines.h
index 227e7cf0a360..15798af7d661 100644
--- a/llvm/include/llvm-c/Transforms/Coroutines.h
+++ b/llvm/include/llvm-c/Transforms/Coroutines.h
@@ -19,11 +19,10 @@
#ifndef LLVM_C_TRANSFORMS_COROUTINES_H
#define LLVM_C_TRANSFORMS_COROUTINES_H
+#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+LLVM_C_EXTERN_C_BEGIN
/**
* @defgroup LLVMCTransformsCoroutines Coroutine transformations
@@ -32,24 +31,22 @@ extern "C" {
* @{
*/
-/** See llvm::createCoroEarlyPass function. */
+/** See llvm::createCoroEarlyLegacyPass function. */
void LLVMAddCoroEarlyPass(LLVMPassManagerRef PM);
-/** See llvm::createCoroSplitPass function. */
+/** See llvm::createCoroSplitLegacyPass function. */
void LLVMAddCoroSplitPass(LLVMPassManagerRef PM);
-/** See llvm::createCoroElidePass function. */
+/** See llvm::createCoroElideLegacyPass function. */
void LLVMAddCoroElidePass(LLVMPassManagerRef PM);
-/** See llvm::createCoroCleanupPass function. */
+/** See llvm::createCoroCleanupLegacyPass function. */
void LLVMAddCoroCleanupPass(LLVMPassManagerRef PM);
/**
* @}
*/
-#ifdef __cplusplus
-}
-#endif /* defined(__cplusplus) */
+LLVM_C_EXTERN_C_END
#endif
diff --git a/llvm/include/llvm-c/Transforms/IPO.h b/llvm/include/llvm-c/Transforms/IPO.h
index 51d007581283..cde3d2460920 100644
--- a/llvm/include/llvm-c/Transforms/IPO.h
+++ b/llvm/include/llvm-c/Transforms/IPO.h
@@ -15,11 +15,10 @@
#ifndef LLVM_C_TRANSFORMS_IPO_H
#define LLVM_C_TRANSFORMS_IPO_H
+#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+LLVM_C_EXTERN_C_BEGIN
/**
* @defgroup LLVMCTransformsIPO Interprocedural transformations
@@ -95,8 +94,6 @@ void LLVMAddStripSymbolsPass(LLVMPassManagerRef PM);
* @}
*/
-#ifdef __cplusplus
-}
-#endif /* defined(__cplusplus) */
+LLVM_C_EXTERN_C_END
#endif
diff --git a/llvm/include/llvm-c/Transforms/InstCombine.h b/llvm/include/llvm-c/Transforms/InstCombine.h
index 166f278d9a69..ebe17d667061 100644
--- a/llvm/include/llvm-c/Transforms/InstCombine.h
+++ b/llvm/include/llvm-c/Transforms/InstCombine.h
@@ -15,11 +15,10 @@
#ifndef LLVM_C_TRANSFORMS_INSTCOMBINE_H
#define LLVM_C_TRANSFORMS_INSTCOMBINE_H
+#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+LLVM_C_EXTERN_C_BEGIN
/**
* @defgroup LLVMCTransformsInstCombine Instruction Combining transformations
@@ -35,9 +34,7 @@ void LLVMAddInstructionCombiningPass(LLVMPassManagerRef PM);
* @}
*/
-#ifdef __cplusplus
-}
-#endif /* defined(__cplusplus) */
+LLVM_C_EXTERN_C_END
#endif
diff --git a/llvm/include/llvm-c/Transforms/PassManagerBuilder.h b/llvm/include/llvm-c/Transforms/PassManagerBuilder.h
index d164c00d49c5..6e13e18e063b 100644
--- a/llvm/include/llvm-c/Transforms/PassManagerBuilder.h
+++ b/llvm/include/llvm-c/Transforms/PassManagerBuilder.h
@@ -14,13 +14,12 @@
#ifndef LLVM_C_TRANSFORMS_PASSMANAGERBUILDER_H
#define LLVM_C_TRANSFORMS_PASSMANAGERBUILDER_H
+#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
typedef struct LLVMOpaquePassManagerBuilder *LLVMPassManagerBuilderRef;
-#ifdef __cplusplus
-extern "C" {
-#endif
+LLVM_C_EXTERN_C_BEGIN
/**
* @defgroup LLVMCTransformsPassManagerBuilder Pass manager builder
@@ -83,8 +82,6 @@ void LLVMPassManagerBuilderPopulateLTOPassManager(LLVMPassManagerBuilderRef PMB,
* @}
*/
-#ifdef __cplusplus
-}
-#endif
+LLVM_C_EXTERN_C_END
#endif
diff --git a/llvm/include/llvm-c/Transforms/Scalar.h b/llvm/include/llvm-c/Transforms/Scalar.h
index 6f3a3d8b3750..93d79a205195 100644
--- a/llvm/include/llvm-c/Transforms/Scalar.h
+++ b/llvm/include/llvm-c/Transforms/Scalar.h
@@ -19,11 +19,10 @@
#ifndef LLVM_C_TRANSFORMS_SCALAR_H
#define LLVM_C_TRANSFORMS_SCALAR_H
+#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+LLVM_C_EXTERN_C_BEGIN
/**
* @defgroup LLVMCTransformsScalar Scalar transformations
@@ -166,8 +165,6 @@ void LLVMAddUnifyFunctionExitNodesPass(LLVMPassManagerRef PM);
* @}
*/
-#ifdef __cplusplus
-}
-#endif /* defined(__cplusplus) */
+LLVM_C_EXTERN_C_END
#endif
diff --git a/llvm/include/llvm-c/Transforms/Utils.h b/llvm/include/llvm-c/Transforms/Utils.h
index 63594abfa460..30d1ae63de1d 100644
--- a/llvm/include/llvm-c/Transforms/Utils.h
+++ b/llvm/include/llvm-c/Transforms/Utils.h
@@ -19,11 +19,10 @@
#ifndef LLVM_C_TRANSFORMS_UTILS_H
#define LLVM_C_TRANSFORMS_UTILS_H
+#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+LLVM_C_EXTERN_C_BEGIN
/**
* @defgroup LLVMCTransformsUtils Transformation Utilities
@@ -45,9 +44,7 @@ void LLVMAddAddDiscriminatorsPass(LLVMPassManagerRef PM);
* @}
*/
-#ifdef __cplusplus
-}
-#endif /* defined(__cplusplus) */
+LLVM_C_EXTERN_C_END
#endif
diff --git a/llvm/include/llvm-c/Transforms/Vectorize.h b/llvm/include/llvm-c/Transforms/Vectorize.h
index e383481fe4f4..0de458381399 100644
--- a/llvm/include/llvm-c/Transforms/Vectorize.h
+++ b/llvm/include/llvm-c/Transforms/Vectorize.h
@@ -20,11 +20,10 @@
#ifndef LLVM_C_TRANSFORMS_VECTORIZE_H
#define LLVM_C_TRANSFORMS_VECTORIZE_H
+#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+LLVM_C_EXTERN_C_BEGIN
/**
* @defgroup LLVMCTransformsVectorize Vectorization transformations
@@ -43,8 +42,6 @@ void LLVMAddSLPVectorizePass(LLVMPassManagerRef PM);
* @}
*/
-#ifdef __cplusplus
-}
-#endif /* defined(__cplusplus) */
+LLVM_C_EXTERN_C_END
#endif
diff --git a/llvm/include/llvm-c/Types.h b/llvm/include/llvm-c/Types.h
index 612c7d3eff32..4e02498a2348 100644
--- a/llvm/include/llvm-c/Types.h
+++ b/llvm/include/llvm-c/Types.h
@@ -15,10 +15,9 @@
#define LLVM_C_TYPES_H
#include "llvm-c/DataTypes.h"
+#include "llvm-c/ExternC.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+LLVM_C_EXTERN_C_BEGIN
/**
* @defgroup LLVMCSupportTypes Types and Enumerations
@@ -172,8 +171,6 @@ typedef struct LLVMOpaqueBinary *LLVMBinaryRef;
* @}
*/
-#ifdef __cplusplus
-}
-#endif
+LLVM_C_EXTERN_C_END
#endif
diff --git a/llvm/include/llvm-c/lto.h b/llvm/include/llvm-c/lto.h
index 41e6067cf44f..97a8f4823320 100644
--- a/llvm/include/llvm-c/lto.h
+++ b/llvm/include/llvm-c/lto.h
@@ -16,6 +16,8 @@
#ifndef LLVM_C_LTO_H
#define LLVM_C_LTO_H
+#include "llvm-c/ExternC.h"
+
#ifdef __cplusplus
#include <cstddef>
#else
@@ -44,7 +46,7 @@ typedef bool lto_bool_t;
* @{
*/
-#define LTO_API_VERSION 25
+#define LTO_API_VERSION 26
/**
* \since prior to LTO_API_VERSION=3
@@ -98,9 +100,7 @@ typedef struct LLVMOpaqueLTOCodeGenerator *lto_code_gen_t;
/** opaque reference to a thin code generator */
typedef struct LLVMOpaqueThinLTOCodeGenerator *thinlto_code_gen_t;
-#ifdef __cplusplus
-extern "C" {
-#endif
+LLVM_C_EXTERN_C_BEGIN
/**
* Returns a printable string.
@@ -514,12 +514,25 @@ lto_api_version(void);
/**
* Sets options to help debug codegen bugs.
*
+ * This function takes one or more options separated by spaces.
+ * Warning: passing file paths through this function may confuse the argument
+ * parser if the paths contain spaces.
+ *
* \since prior to LTO_API_VERSION=3
*/
extern void
lto_codegen_debug_options(lto_code_gen_t cg, const char *);
/**
+ * Same as the previous function, but takes every option separately through an
+ * array.
+ *
+ * \since prior to LTO_API_VERSION=26
+ */
+extern void lto_codegen_debug_options_array(lto_code_gen_t cg,
+ const char *const *, int number);
+
+/**
* Initializes LLVM disassemblers.
* FIXME: This doesn't really belong here.
*
@@ -900,8 +913,6 @@ extern void thinlto_codegen_set_cache_size_files(thinlto_code_gen_t cg,
* @} // endgroup LLVMCTLTO_CACHING
*/
-#ifdef __cplusplus
-}
-#endif
+LLVM_C_EXTERN_C_END
#endif /* LLVM_C_LTO_H */
diff --git a/llvm/include/llvm/ADT/APFloat.h b/llvm/include/llvm/ADT/APFloat.h
index 1c4969733791..ed25b2cd89f1 100644
--- a/llvm/include/llvm/ADT/APFloat.h
+++ b/llvm/include/llvm/ADT/APFloat.h
@@ -38,6 +38,7 @@ class StringRef;
class APFloat;
class raw_ostream;
+template <typename T> class Expected;
template <typename T> class SmallVectorImpl;
/// Enum that represents what fraction of the LSB truncated bits of an fp number
@@ -143,7 +144,7 @@ struct APFloatBase {
static const unsigned integerPartWidth = APInt::APINT_BITS_PER_WORD;
/// A signed type to represent a floating point numbers unbiased exponent.
- typedef signed short ExponentType;
+ typedef int32_t ExponentType;
/// \name Floating Point Semantics.
/// @{
@@ -299,7 +300,7 @@ public:
bool, roundingMode);
opStatus convertFromZeroExtendedInteger(const integerPart *, unsigned int,
bool, roundingMode);
- opStatus convertFromString(StringRef, roundingMode);
+ Expected<opStatus> convertFromString(StringRef, roundingMode);
APInt bitcastToAPInt() const;
double convertToDouble() const;
float convertToFloat() const;
@@ -486,7 +487,8 @@ private:
integerPart addSignificand(const IEEEFloat &);
integerPart subtractSignificand(const IEEEFloat &, integerPart);
lostFraction addOrSubtractSignificand(const IEEEFloat &, bool subtract);
- lostFraction multiplySignificand(const IEEEFloat &, const IEEEFloat *);
+ lostFraction multiplySignificand(const IEEEFloat &, IEEEFloat);
+ lostFraction multiplySignificand(const IEEEFloat&);
lostFraction divideSignificand(const IEEEFloat &);
void incrementSignificand();
void initialize(const fltSemantics *);
@@ -525,8 +527,8 @@ private:
bool *) const;
opStatus convertFromUnsignedParts(const integerPart *, unsigned int,
roundingMode);
- opStatus convertFromHexadecimalString(StringRef, roundingMode);
- opStatus convertFromDecimalString(StringRef, roundingMode);
+ Expected<opStatus> convertFromHexadecimalString(StringRef, roundingMode);
+ Expected<opStatus> convertFromDecimalString(StringRef, roundingMode);
char *convertNormalToHexString(char *, unsigned int, bool,
roundingMode) const;
opStatus roundSignificandWithExponent(const integerPart *, unsigned int, int,
@@ -648,7 +650,7 @@ public:
cmpResult compare(const DoubleAPFloat &RHS) const;
bool bitwiseIsEqual(const DoubleAPFloat &RHS) const;
APInt bitcastToAPInt() const;
- opStatus convertFromString(StringRef, roundingMode);
+ Expected<opStatus> convertFromString(StringRef, roundingMode);
opStatus next(bool nextDown);
opStatus convertToInteger(MutableArrayRef<integerPart> Input,
@@ -851,6 +853,9 @@ public:
APFloat(const fltSemantics &Semantics) : U(Semantics) {}
APFloat(const fltSemantics &Semantics, StringRef S);
APFloat(const fltSemantics &Semantics, integerPart I) : U(Semantics, I) {}
+ template <typename T, typename = typename std::enable_if<
+ std::is_floating_point<T>::value>::type>
+ APFloat(const fltSemantics &Semantics, T V) = delete;
// TODO: Remove this constructor. This isn't faster than the first one.
APFloat(const fltSemantics &Semantics, uninitializedTag)
: U(Semantics, uninitialized) {}
@@ -1105,7 +1110,7 @@ public:
APFLOAT_DISPATCH_ON_SEMANTICS(
convertFromZeroExtendedInteger(Input, InputSize, IsSigned, RM));
}
- opStatus convertFromString(StringRef, roundingMode);
+ Expected<opStatus> convertFromString(StringRef, roundingMode);
APInt bitcastToAPInt() const {
APFLOAT_DISPATCH_ON_SEMANTICS(bitcastToAPInt());
}
diff --git a/llvm/include/llvm/ADT/APInt.h b/llvm/include/llvm/ADT/APInt.h
index 8dce5a621bb3..0791a6d686a3 100644
--- a/llvm/include/llvm/ADT/APInt.h
+++ b/llvm/include/llvm/ADT/APInt.h
@@ -389,6 +389,11 @@ public:
/// \returns true if this APInt is positive.
bool isStrictlyPositive() const { return isNonNegative() && !isNullValue(); }
+ /// Determine if this APInt Value is non-positive (<= 0).
+ ///
+ /// \returns true if this APInt is non-positive.
+ bool isNonPositive() const { return !isStrictlyPositive(); }
+
/// Determine if all bits are set
///
/// This checks to see if the value has all bits of the APInt are set or not.
@@ -595,8 +600,8 @@ public:
/// Constructs an APInt value that has a contiguous range of bits set. The
/// bits from loBit (inclusive) to hiBit (exclusive) will be set. All other
/// bits will be zero. For example, with parameters(32, 0, 16) you would get
- /// 0x0000FFFF. If hiBit is less than loBit then the set bits "wrap". For
- /// example, with parameters (32, 28, 4), you would get 0xF000000F.
+ /// 0x0000FFFF. Please call getBitsSetWithWrap if \p loBit may be greater than
+ /// \p hiBit.
///
/// \param numBits the intended bit width of the result
/// \param loBit the index of the lowest bit set.
@@ -604,11 +609,23 @@ public:
///
/// \returns An APInt value with the requested bits set.
static APInt getBitsSet(unsigned numBits, unsigned loBit, unsigned hiBit) {
+ assert(loBit <= hiBit && "loBit greater than hiBit");
APInt Res(numBits, 0);
Res.setBits(loBit, hiBit);
return Res;
}
+ /// Wrap version of getBitsSet.
+ /// If \p hiBit is no less than \p loBit, this is same with getBitsSet.
+ /// If \p hiBit is less than \p loBit, the set bits "wrap". For example, with
+ /// parameters (32, 28, 4), you would get 0xF000000F.
+ static APInt getBitsSetWithWrap(unsigned numBits, unsigned loBit,
+ unsigned hiBit) {
+ APInt Res(numBits, 0);
+ Res.setBitsWithWrap(loBit, hiBit);
+ return Res;
+ }
+
/// Get a value with upper bits starting at loBit set.
///
/// Constructs an APInt value that has a contiguous range of bits set. The
@@ -1109,6 +1126,10 @@ public:
APInt uadd_sat(const APInt &RHS) const;
APInt ssub_sat(const APInt &RHS) const;
APInt usub_sat(const APInt &RHS) const;
+ APInt smul_sat(const APInt &RHS) const;
+ APInt umul_sat(const APInt &RHS) const;
+ APInt sshl_sat(const APInt &RHS) const;
+ APInt ushl_sat(const APInt &RHS) const;
/// Array-indexing support.
///
@@ -1245,7 +1266,7 @@ public:
/// \returns true if *this <= RHS when considered signed.
bool sle(uint64_t RHS) const { return !sgt(RHS); }
- /// Unsigned greather than comparison
+ /// Unsigned greater than comparison
///
/// Regards both *this and RHS as unsigned quantities and compares them for
/// the validity of the greater-than relationship.
@@ -1264,7 +1285,7 @@ public:
return (!isSingleWord() && getActiveBits() > 64) || getZExtValue() > RHS;
}
- /// Signed greather than comparison
+ /// Signed greater than comparison
///
/// Regards both *this and RHS as signed quantities and compares them for the
/// validity of the greater-than relationship.
@@ -1342,6 +1363,19 @@ public:
/// that is greater than or equal to the current width.
APInt trunc(unsigned width) const;
+ /// Truncate to new width with unsigned saturation.
+ ///
+ /// If the APInt, treated as unsigned integer, can be losslessly truncated to
+ /// the new bitwidth, then return truncated APInt. Else, return max value.
+ APInt truncUSat(unsigned width) const;
+
+ /// Truncate to new width with signed saturation.
+ ///
+ /// If this APInt, treated as signed integer, can be losslessly truncated to
+ /// the new bitwidth, then return truncated APInt. Else, return either
+ /// signed min value if the APInt was negative, or signed max value.
+ APInt truncSSat(unsigned width) const;
+
/// Sign extend to a new width.
///
/// This operation sign extends the APInt to a new width. If the high order
@@ -1414,6 +1448,21 @@ public:
}
/// Set the bits from loBit (inclusive) to hiBit (exclusive) to 1.
+ /// This function handles "wrap" case when \p loBit > \p hiBit, and calls
+ /// setBits when \p loBit <= \p hiBit.
+ void setBitsWithWrap(unsigned loBit, unsigned hiBit) {
+ assert(hiBit <= BitWidth && "hiBit out of range");
+ assert(loBit <= BitWidth && "loBit out of range");
+ if (loBit <= hiBit) {
+ setBits(loBit, hiBit);
+ return;
+ }
+ setLowBits(hiBit);
+ setHighBits(BitWidth - loBit);
+ }
+
+ /// Set the bits from loBit (inclusive) to hiBit (exclusive) to 1.
+ /// This function handles case when \p loBit <= \p hiBit.
void setBits(unsigned loBit, unsigned hiBit) {
assert(hiBit <= BitWidth && "hiBit out of range");
assert(loBit <= BitWidth && "loBit out of range");
@@ -1723,13 +1772,13 @@ public:
return BitsToDouble(getWord(0));
}
- /// Converts APInt bits to a double
+ /// Converts APInt bits to a float
///
/// The conversion does not do a translation from integer to float, it just
/// re-interprets the bits as a float. Note that it is valid to do this on
/// any bit width. Exactly 32 bits will be translated.
float bitsToFloat() const {
- return BitsToFloat(getWord(0));
+ return BitsToFloat(static_cast<uint32_t>(getWord(0)));
}
/// Converts a double to APInt bits.
@@ -2158,7 +2207,7 @@ inline float RoundAPIntToFloat(const APInt &APIVal) {
/// Converts the given APInt to a float value.
///
-/// Treast the APInt as a signed value for conversion purposes.
+/// Treats the APInt as a signed value for conversion purposes.
inline float RoundSignedAPIntToFloat(const APInt &APIVal) {
return float(APIVal.signedRoundToDouble());
}
@@ -2194,7 +2243,7 @@ APInt RoundingSDiv(const APInt &A, const APInt &B, APInt::Rounding RM);
/// count as an overflow, but here we want to allow values to decrease
/// and increase as long as they are within the same interval.
/// Specifically, adding of two negative numbers should not cause an
-/// overflow (as long as the magnitude does not exceed the bith width).
+/// overflow (as long as the magnitude does not exceed the bit width).
/// On the other hand, given a positive number, adding a negative
/// number to it can give a negative result, which would cause the
/// value to go from [-2^BW, 0) to [0, 2^BW). In that sense, zero is
@@ -2216,6 +2265,12 @@ APInt RoundingSDiv(const APInt &A, const APInt &B, APInt::Rounding RM);
/// coefficients.
Optional<APInt> SolveQuadraticEquationWrap(APInt A, APInt B, APInt C,
unsigned RangeWidth);
+
+/// Compare two values, and if they are different, return the position of the
+/// most significant bit that is different in the values.
+Optional<unsigned> GetMostSignificantDifferentBit(const APInt &A,
+ const APInt &B);
+
} // End of APIntOps namespace
// See friend declaration above. This additional declaration is required in
diff --git a/llvm/include/llvm/ADT/ArrayRef.h b/llvm/include/llvm/ADT/ArrayRef.h
index f6455d3fa412..3d22442918cd 100644
--- a/llvm/include/llvm/ADT/ArrayRef.h
+++ b/llvm/include/llvm/ADT/ArrayRef.h
@@ -97,9 +97,19 @@ namespace llvm {
/*implicit*/ constexpr ArrayRef(const T (&Arr)[N]) : Data(Arr), Length(N) {}
/// Construct an ArrayRef from a std::initializer_list.
+#if LLVM_GNUC_PREREQ(9, 0, 0)
+// Disable gcc's warning in this constructor as it generates an enormous amount
+// of messages. Anyone using ArrayRef should already be aware of the fact that
+// it does not do lifetime extension.
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Winit-list-lifetime"
+#endif
/*implicit*/ ArrayRef(const std::initializer_list<T> &Vec)
: Data(Vec.begin() == Vec.end() ? (T*)nullptr : Vec.begin()),
Length(Vec.size()) {}
+#if LLVM_GNUC_PREREQ(9, 0, 0)
+#pragma GCC diagnostic pop
+#endif
/// Construct an ArrayRef<const T*> from ArrayRef<T*>. This uses SFINAE to
/// ensure that only ArrayRefs of pointers can be converted.
diff --git a/llvm/include/llvm/ADT/BitVector.h b/llvm/include/llvm/ADT/BitVector.h
index fabf5d9cd348..5284be8c4a02 100644
--- a/llvm/include/llvm/ADT/BitVector.h
+++ b/llvm/include/llvm/ADT/BitVector.h
@@ -71,7 +71,7 @@ public:
};
class BitVector {
- typedef unsigned long BitWord;
+ typedef uintptr_t BitWord;
enum { BITWORD_SIZE = (unsigned)sizeof(BitWord) * CHAR_BIT };
@@ -187,12 +187,12 @@ public:
/// all - Returns true if all bits are set.
bool all() const {
for (unsigned i = 0; i < Size / BITWORD_SIZE; ++i)
- if (Bits[i] != ~0UL)
+ if (Bits[i] != ~BitWord(0))
return false;
// If bits remain check that they are ones. The unused bits are always zero.
if (unsigned Remainder = Size % BITWORD_SIZE)
- return Bits[Size / BITWORD_SIZE] == (1UL << Remainder) - 1;
+ return Bits[Size / BITWORD_SIZE] == (BitWord(1) << Remainder) - 1;
return true;
}
@@ -285,7 +285,7 @@ public:
unsigned LastBit = (End - 1) % BITWORD_SIZE;
Copy |= maskTrailingZeros<BitWord>(LastBit + 1);
}
- if (Copy != ~0UL) {
+ if (Copy != ~BitWord(0)) {
unsigned Result = i * BITWORD_SIZE + countTrailingOnes(Copy);
return Result < size() ? Result : -1;
}
@@ -317,7 +317,7 @@ public:
Copy |= maskTrailingOnes<BitWord>(FirstBit);
}
- if (Copy != ~0UL) {
+ if (Copy != ~BitWord(0)) {
unsigned Result =
(CurrentWord + 1) * BITWORD_SIZE - countLeadingOnes(Copy) - 1;
return Result < Size ? Result : -1;
@@ -414,21 +414,21 @@ public:
if (I == E) return *this;
if (I / BITWORD_SIZE == E / BITWORD_SIZE) {
- BitWord EMask = 1UL << (E % BITWORD_SIZE);
- BitWord IMask = 1UL << (I % BITWORD_SIZE);
+ BitWord EMask = BitWord(1) << (E % BITWORD_SIZE);
+ BitWord IMask = BitWord(1) << (I % BITWORD_SIZE);
BitWord Mask = EMask - IMask;
Bits[I / BITWORD_SIZE] |= Mask;
return *this;
}
- BitWord PrefixMask = ~0UL << (I % BITWORD_SIZE);
+ BitWord PrefixMask = ~BitWord(0) << (I % BITWORD_SIZE);
Bits[I / BITWORD_SIZE] |= PrefixMask;
I = alignTo(I, BITWORD_SIZE);
for (; I + BITWORD_SIZE <= E; I += BITWORD_SIZE)
- Bits[I / BITWORD_SIZE] = ~0UL;
+ Bits[I / BITWORD_SIZE] = ~BitWord(0);
- BitWord PostfixMask = (1UL << (E % BITWORD_SIZE)) - 1;
+ BitWord PostfixMask = (BitWord(1) << (E % BITWORD_SIZE)) - 1;
if (I < E)
Bits[I / BITWORD_SIZE] |= PostfixMask;
@@ -453,21 +453,21 @@ public:
if (I == E) return *this;
if (I / BITWORD_SIZE == E / BITWORD_SIZE) {
- BitWord EMask = 1UL << (E % BITWORD_SIZE);
- BitWord IMask = 1UL << (I % BITWORD_SIZE);
+ BitWord EMask = BitWord(1) << (E % BITWORD_SIZE);
+ BitWord IMask = BitWord(1) << (I % BITWORD_SIZE);
BitWord Mask = EMask - IMask;
Bits[I / BITWORD_SIZE] &= ~Mask;
return *this;
}
- BitWord PrefixMask = ~0UL << (I % BITWORD_SIZE);
+ BitWord PrefixMask = ~BitWord(0) << (I % BITWORD_SIZE);
Bits[I / BITWORD_SIZE] &= ~PrefixMask;
I = alignTo(I, BITWORD_SIZE);
for (; I + BITWORD_SIZE <= E; I += BITWORD_SIZE)
- Bits[I / BITWORD_SIZE] = 0UL;
+ Bits[I / BITWORD_SIZE] = BitWord(0);
- BitWord PostfixMask = (1UL << (E % BITWORD_SIZE)) - 1;
+ BitWord PostfixMask = (BitWord(1) << (E % BITWORD_SIZE)) - 1;
if (I < E)
Bits[I / BITWORD_SIZE] &= ~PostfixMask;
@@ -868,7 +868,7 @@ private:
// Then set any stray high bits of the last used word.
unsigned ExtraBits = Size % BITWORD_SIZE;
if (ExtraBits) {
- BitWord ExtraBitMask = ~0UL << ExtraBits;
+ BitWord ExtraBitMask = ~BitWord(0) << ExtraBits;
if (t)
Bits[UsedWords-1] |= ExtraBitMask;
else
diff --git a/llvm/include/llvm/ADT/DenseMap.h b/llvm/include/llvm/ADT/DenseMap.h
index 948a6e6bfb38..148d319c8603 100644
--- a/llvm/include/llvm/ADT/DenseMap.h
+++ b/llvm/include/llvm/ADT/DenseMap.h
@@ -1006,13 +1006,10 @@ public:
}
void grow(unsigned AtLeast) {
- if (AtLeast >= InlineBuckets)
+ if (AtLeast > InlineBuckets)
AtLeast = std::max<unsigned>(64, NextPowerOf2(AtLeast-1));
if (Small) {
- if (AtLeast < InlineBuckets)
- return; // Nothing to do.
-
// First move the inline buckets into a temporary storage.
AlignedCharArrayUnion<BucketT[InlineBuckets]> TmpStorage;
BucketT *TmpBegin = reinterpret_cast<BucketT *>(TmpStorage.buffer);
@@ -1035,10 +1032,13 @@ public:
P->getFirst().~KeyT();
}
- // Now make this map use the large rep, and move all the entries back
- // into it.
- Small = false;
- new (getLargeRep()) LargeRep(allocateBuckets(AtLeast));
+ // AtLeast == InlineBuckets can happen if there are many tombstones,
+ // and grow() is used to remove them. Usually we always switch to the
+ // large rep here.
+ if (AtLeast > InlineBuckets) {
+ Small = false;
+ new (getLargeRep()) LargeRep(allocateBuckets(AtLeast));
+ }
this->moveFromOldBuckets(TmpBegin, TmpEnd);
return;
}
diff --git a/llvm/include/llvm/ADT/DirectedGraph.h b/llvm/include/llvm/ADT/DirectedGraph.h
index f6a358d99cd2..cfe98e178a91 100644
--- a/llvm/include/llvm/ADT/DirectedGraph.h
+++ b/llvm/include/llvm/ADT/DirectedGraph.h
@@ -48,6 +48,9 @@ public:
static_cast<const DGEdge<NodeType, EdgeType> &>(*this).getTargetNode());
}
+ /// Set the target node this edge connects to.
+ void setTargetNode(const NodeType &N) { TargetNode = N; }
+
protected:
// As the default implementation use address comparison for equality.
bool isEqualTo(const EdgeType &E) const { return this == &E; }
diff --git a/llvm/include/llvm/ADT/EnumeratedArray.h b/llvm/include/llvm/ADT/EnumeratedArray.h
new file mode 100644
index 000000000000..a9528115618c
--- /dev/null
+++ b/llvm/include/llvm/ADT/EnumeratedArray.h
@@ -0,0 +1,48 @@
+//===- llvm/ADT/EnumeratedArray.h - Enumerated Array-------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines an array type that can be indexed using scoped enum values.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_ADT_ENUMERATEDARRAY_H
+#define LLVM_ADT_ENUMERATEDARRAY_H
+
+#include <cassert>
+
+namespace llvm {
+
+template <typename ValueType, typename Enumeration,
+ Enumeration LargestEnum = Enumeration::Last, typename IndexType = int,
+ IndexType Size = 1 + static_cast<IndexType>(LargestEnum)>
+class EnumeratedArray {
+public:
+ EnumeratedArray() = default;
+ EnumeratedArray(ValueType V) {
+ for (IndexType IX = 0; IX < Size; ++IX) {
+ Underlying[IX] = V;
+ }
+ }
+ inline const ValueType &operator[](const Enumeration Index) const {
+ auto IX = static_cast<const IndexType>(Index);
+ assert(IX >= 0 && IX < Size && "Index is out of bounds.");
+ return Underlying[IX];
+ }
+ inline ValueType &operator[](const Enumeration Index) {
+ return const_cast<ValueType &>(
+ static_cast<const EnumeratedArray<ValueType, Enumeration, LargestEnum,
+ IndexType, Size> &>(*this)[Index]);
+ }
+
+private:
+ ValueType Underlying[Size];
+};
+
+} // namespace llvm
+
+#endif // LLVM_ADT_ENUMERATEDARRAY_H
diff --git a/llvm/include/llvm/ADT/FloatingPointMode.h b/llvm/include/llvm/ADT/FloatingPointMode.h
new file mode 100644
index 000000000000..670b2368da9f
--- /dev/null
+++ b/llvm/include/llvm/ADT/FloatingPointMode.h
@@ -0,0 +1,62 @@
+//===- llvm/Support/FloatingPointMode.h -------------------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+//
+// Utilities for dealing with flags related to floating point mode controls.
+//
+//===----------------------------------------------------------------------===/
+
+#ifndef LLVM_FLOATINGPOINTMODE_H
+#define LLVM_FLOATINGPOINTMODE_H
+
+#include "llvm/ADT/StringSwitch.h"
+
+namespace llvm {
+
+/// Represent handled modes for denormal (aka subnormal) modes in the floating
+/// point environment.
+enum class DenormalMode {
+ Invalid = -1,
+
+ /// IEEE-754 denormal numbers preserved.
+ IEEE,
+
+ /// The sign of a flushed-to-zero number is preserved in the sign of 0
+ PreserveSign,
+
+ /// Denormals are flushed to positive zero.
+ PositiveZero
+};
+
+/// Parse the expected names from the denormal-fp-math attribute.
+inline DenormalMode parseDenormalFPAttribute(StringRef Str) {
+ // Assume ieee on unspecified attribute.
+ return StringSwitch<DenormalMode>(Str)
+ .Cases("", "ieee", DenormalMode::IEEE)
+ .Case("preserve-sign", DenormalMode::PreserveSign)
+ .Case("positive-zero", DenormalMode::PositiveZero)
+ .Default(DenormalMode::Invalid);
+}
+
+/// Return the name used for the denormal handling mode used by the the
+/// expected names from the denormal-fp-math attribute.
+inline StringRef denormalModeName(DenormalMode Mode) {
+ switch (Mode) {
+ case DenormalMode::IEEE:
+ return "ieee";
+ case DenormalMode::PreserveSign:
+ return "preserve-sign";
+ case DenormalMode::PositiveZero:
+ return "positive-zero";
+ default:
+ return "";
+ }
+}
+
+}
+
+#endif // LLVM_FLOATINGPOINTMODE_H
diff --git a/llvm/include/llvm/ADT/FoldingSet.h b/llvm/include/llvm/ADT/FoldingSet.h
index d5837e51bcfc..4968b1ea7780 100644
--- a/llvm/include/llvm/ADT/FoldingSet.h
+++ b/llvm/include/llvm/ADT/FoldingSet.h
@@ -85,17 +85,17 @@ namespace llvm {
///
/// MyNode *M = MyFoldingSet.FindNodeOrInsertPos(ID, InsertPoint);
///
-/// If found then M with be non-NULL, else InsertPoint will point to where it
+/// If found then M will be non-NULL, else InsertPoint will point to where it
/// should be inserted using InsertNode.
///
-/// 3) If you get a NULL result from FindNodeOrInsertPos then you can as a new
-/// node with FindNodeOrInsertPos;
+/// 3) If you get a NULL result from FindNodeOrInsertPos then you can insert a
+/// new node with InsertNode;
///
-/// InsertNode(N, InsertPoint);
+/// MyFoldingSet.InsertNode(M, InsertPoint);
///
/// 4) Finally, if you want to remove a node from the folding set call;
///
-/// bool WasRemoved = RemoveNode(N);
+/// bool WasRemoved = MyFoldingSet.RemoveNode(M);
///
/// The result indicates whether the node existed in the folding set.
diff --git a/llvm/include/llvm/ADT/Hashing.h b/llvm/include/llvm/ADT/Hashing.h
index b22606bdb518..adcc5cf54da9 100644
--- a/llvm/include/llvm/ADT/Hashing.h
+++ b/llvm/include/llvm/ADT/Hashing.h
@@ -45,6 +45,7 @@
#define LLVM_ADT_HASHING_H
#include "llvm/Support/DataTypes.h"
+#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/SwapByteOrder.h"
#include "llvm/Support/type_traits.h"
#include <algorithm>
@@ -256,7 +257,7 @@ inline uint64_t hash_short(const char *s, size_t length, uint64_t seed) {
/// Currently, the algorithm for computing hash codes is based on CityHash and
/// keeps 56 bytes of arbitrary state.
struct hash_state {
- uint64_t h0, h1, h2, h3, h4, h5, h6;
+ uint64_t h0 = 0, h1 = 0, h2 = 0, h3 = 0, h4 = 0, h5 = 0, h6 = 0;
/// Create a new hash_state structure and initialize it based on the
/// seed and the first 64-byte chunk.
@@ -491,7 +492,7 @@ namespace detail {
/// useful at minimizing the code in the recursive calls to ease the pain
/// caused by a lack of variadic functions.
struct hash_combine_recursive_helper {
- char buffer[64];
+ char buffer[64] = {};
hash_state state;
const uint64_t seed;
@@ -539,7 +540,7 @@ public:
// store types smaller than the buffer.
if (!store_and_advance(buffer_ptr, buffer_end, data,
partial_store_size))
- abort();
+ llvm_unreachable("buffer smaller than stored type");
}
return buffer_ptr;
}
diff --git a/llvm/include/llvm/ADT/ImmutableSet.h b/llvm/include/llvm/ADT/ImmutableSet.h
index 587105431533..a6a6abfd9600 100644
--- a/