aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2019-10-23 17:51:42 +0000
committerDimitry Andric <dim@FreeBSD.org>2019-10-23 17:51:42 +0000
commit1d5ae1026e831016fc29fd927877c86af904481f (patch)
tree2cdfd12620fcfa5d9e4a0389f85368e8e36f63f9
parente6d1592492a3a379186bfb02bd0f4eda0669c0d5 (diff)
downloadsrc-1d5ae1026e831016fc29fd927877c86af904481f.tar.gz
src-1d5ae1026e831016fc29fd927877c86af904481f.zip
Vendor import of stripped llvm trunk r375505, the last commit before thevendor/llvm/llvm-trunk-r375505vendor/llvm
upstream Subversion repository was made read-only, and the LLVM project migrated to GitHub: https://llvm.org/svn/llvm-project/llvm/trunk@375505
Notes
Notes: svn path=/vendor/llvm/dist/; revision=353940 svn path=/vendor/llvm/llvm-r375505/; revision=353941; tag=vendor/llvm/llvm-trunk-r375505
-rw-r--r--include/llvm-c/Core.h22
-rw-r--r--include/llvm-c/DebugInfo.h47
-rw-r--r--include/llvm-c/Remarks.h17
-rw-r--r--include/llvm-c/Transforms/IPO.h18
-rw-r--r--include/llvm-c/Transforms/Scalar.h6
-rw-r--r--include/llvm-c/lto.h94
-rw-r--r--include/llvm/ADT/APFloat.h5
-rw-r--r--include/llvm/ADT/APInt.h9
-rw-r--r--include/llvm/ADT/Any.h4
-rw-r--r--include/llvm/ADT/ArrayRef.h6
-rw-r--r--include/llvm/ADT/DenseMap.h57
-rw-r--r--include/llvm/ADT/DenseMapInfo.h13
-rw-r--r--include/llvm/ADT/DirectedGraph.h270
-rw-r--r--include/llvm/ADT/Hashing.h1
-rw-r--r--include/llvm/ADT/IntervalMap.h4
-rw-r--r--include/llvm/ADT/PointerIntPair.h11
-rw-r--r--include/llvm/ADT/PointerUnion.h30
-rw-r--r--include/llvm/ADT/STLExtras.h168
-rw-r--r--include/llvm/ADT/SmallBitVector.h2
-rw-r--r--include/llvm/ADT/Statistic.h102
-rw-r--r--include/llvm/ADT/StringExtras.h2
-rw-r--r--include/llvm/ADT/StringMap.h59
-rw-r--r--include/llvm/ADT/StringRef.h18
-rw-r--r--include/llvm/ADT/StringSet.h8
-rw-r--r--include/llvm/ADT/TinyPtrVector.h38
-rw-r--r--include/llvm/ADT/VariadicFunction.h330
-rw-r--r--include/llvm/ADT/iterator_range.h1
-rw-r--r--include/llvm/Analysis/AliasAnalysis.h2
-rw-r--r--include/llvm/Analysis/AliasSetTracker.h5
-rw-r--r--include/llvm/Analysis/AssumptionCache.h4
-rw-r--r--include/llvm/Analysis/CFG.h2
-rw-r--r--include/llvm/Analysis/CFLAndersAliasAnalysis.h5
-rw-r--r--include/llvm/Analysis/CFLSteensAliasAnalysis.h5
-rw-r--r--include/llvm/Analysis/CGSCCPassManager.h31
-rw-r--r--include/llvm/Analysis/CaptureTracking.h6
-rw-r--r--include/llvm/Analysis/DDG.h430
-rw-r--r--include/llvm/Analysis/DOTGraphTraitsPass.h4
-rw-r--r--include/llvm/Analysis/DependenceGraphBuilder.h119
-rw-r--r--include/llvm/Analysis/DivergenceAnalysis.h16
-rw-r--r--include/llvm/Analysis/GlobalsModRef.h12
-rw-r--r--include/llvm/Analysis/InstructionSimplify.h36
-rw-r--r--include/llvm/Analysis/LazyCallGraph.h10
-rw-r--r--include/llvm/Analysis/LegacyDivergenceAnalysis.h16
-rw-r--r--include/llvm/Analysis/Loads.h22
-rw-r--r--include/llvm/Analysis/LoopAnalysisManager.h10
-rw-r--r--include/llvm/Analysis/LoopCacheAnalysis.h281
-rw-r--r--include/llvm/Analysis/LoopInfo.h37
-rw-r--r--include/llvm/Analysis/LoopInfoImpl.h8
-rw-r--r--include/llvm/Analysis/MemoryBuiltins.h26
-rw-r--r--include/llvm/Analysis/MemoryDependenceAnalysis.h14
-rw-r--r--include/llvm/Analysis/MemorySSA.h4
-rw-r--r--include/llvm/Analysis/MemorySSAUpdater.h3
-rw-r--r--include/llvm/Analysis/MustExecute.h285
-rw-r--r--include/llvm/Analysis/Passes.h7
-rw-r--r--include/llvm/Analysis/ProfileSummaryInfo.h23
-rw-r--r--include/llvm/Analysis/RegionInfoImpl.h2
-rw-r--r--include/llvm/Analysis/ScalarEvolution.h6
-rw-r--r--include/llvm/Analysis/ScalarEvolutionExpander.h22
-rw-r--r--include/llvm/Analysis/TargetLibraryInfo.h17
-rw-r--r--include/llvm/Analysis/TargetTransformInfo.h180
-rw-r--r--include/llvm/Analysis/TargetTransformInfoImpl.h55
-rw-r--r--include/llvm/Analysis/TypeMetadataUtils.h2
-rw-r--r--include/llvm/Analysis/Utils/Local.h22
-rw-r--r--include/llvm/Analysis/ValueTracking.h67
-rw-r--r--include/llvm/Analysis/VectorUtils.h144
-rw-r--r--include/llvm/BinaryFormat/Dwarf.def198
-rw-r--r--include/llvm/BinaryFormat/Dwarf.h125
-rw-r--r--include/llvm/BinaryFormat/ELF.h66
-rw-r--r--include/llvm/BinaryFormat/ELFRelocs/AArch64.def7
-rw-r--r--include/llvm/BinaryFormat/MachO.h5
-rw-r--r--include/llvm/BinaryFormat/Magic.h1
-rw-r--r--include/llvm/BinaryFormat/Minidump.h68
-rw-r--r--include/llvm/BinaryFormat/MinidumpConstants.def41
-rw-r--r--include/llvm/BinaryFormat/Wasm.h14
-rw-r--r--include/llvm/BinaryFormat/XCOFF.h116
-rw-r--r--include/llvm/Bitcode/BitcodeAnalyzer.h1
-rw-r--r--include/llvm/Bitcode/LLVMBitCodes.h2
-rw-r--r--include/llvm/Bitstream/BitCodes.h5
-rw-r--r--include/llvm/Bitstream/BitstreamReader.h1
-rw-r--r--include/llvm/CodeGen/AccelTable.h2
-rw-r--r--include/llvm/CodeGen/AsmPrinter.h21
-rw-r--r--include/llvm/CodeGen/BasicTTIImpl.h73
-rw-r--r--include/llvm/CodeGen/CallingConvLower.h18
-rw-r--r--include/llvm/CodeGen/DFAPacketizer.h44
-rw-r--r--include/llvm/CodeGen/DIE.h12
-rw-r--r--include/llvm/CodeGen/FastISel.h4
-rw-r--r--include/llvm/CodeGen/FunctionLoweringInfo.h2
-rw-r--r--include/llvm/CodeGen/GlobalISel/CallLowering.h127
-rw-r--r--include/llvm/CodeGen/GlobalISel/CombinerHelper.h127
-rw-r--r--include/llvm/CodeGen/GlobalISel/CombinerInfo.h15
-rw-r--r--include/llvm/CodeGen/GlobalISel/ConstantFoldingMIRBuilder.h11
-rw-r--r--include/llvm/CodeGen/GlobalISel/GISelKnownBits.h111
-rw-r--r--include/llvm/CodeGen/GlobalISel/IRTranslator.h12
-rw-r--r--include/llvm/CodeGen/GlobalISel/InstructionSelector.h34
-rw-r--r--include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h66
-rw-r--r--include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h92
-rw-r--r--include/llvm/CodeGen/GlobalISel/LegalizerHelper.h20
-rw-r--r--include/llvm/CodeGen/GlobalISel/LegalizerInfo.h61
-rw-r--r--include/llvm/CodeGen/GlobalISel/MIPatternMatch.h20
-rw-r--r--include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h93
-rw-r--r--include/llvm/CodeGen/GlobalISel/Utils.h22
-rw-r--r--include/llvm/CodeGen/ISDOpcodes.h41
-rw-r--r--include/llvm/CodeGen/LiveInterval.h6
-rw-r--r--include/llvm/CodeGen/LiveIntervals.h21
-rw-r--r--include/llvm/CodeGen/LiveRangeCalc.h (renamed from lib/CodeGen/LiveRangeCalc.h)10
-rw-r--r--include/llvm/CodeGen/LiveRegUnits.h4
-rw-r--r--include/llvm/CodeGen/MIRYamlMapping.h1
-rw-r--r--include/llvm/CodeGen/MachineBasicBlock.h36
-rw-r--r--include/llvm/CodeGen/MachineCombinerPattern.h21
-rw-r--r--include/llvm/CodeGen/MachineDominators.h63
-rw-r--r--include/llvm/CodeGen/MachineFrameInfo.h62
-rw-r--r--include/llvm/CodeGen/MachineFunction.h61
-rw-r--r--include/llvm/CodeGen/MachineInstr.h99
-rw-r--r--include/llvm/CodeGen/MachineInstrBuilder.h62
-rw-r--r--include/llvm/CodeGen/MachineLoopUtils.h41
-rw-r--r--include/llvm/CodeGen/MachineMemOperand.h7
-rw-r--r--include/llvm/CodeGen/MachineModuleInfo.h52
-rw-r--r--include/llvm/CodeGen/MachineOperand.h49
-rw-r--r--include/llvm/CodeGen/MachinePipeliner.h80
-rw-r--r--include/llvm/CodeGen/MachinePostDominators.h46
-rw-r--r--include/llvm/CodeGen/MachineRegionInfo.h2
-rw-r--r--include/llvm/CodeGen/MachineRegisterInfo.h70
-rw-r--r--include/llvm/CodeGen/MachineScheduler.h1
-rw-r--r--include/llvm/CodeGen/ModuloSchedule.h367
-rw-r--r--include/llvm/CodeGen/PBQP/Math.h12
-rw-r--r--include/llvm/CodeGen/Passes.h4
-rw-r--r--include/llvm/CodeGen/Register.h118
-rw-r--r--include/llvm/CodeGen/RegisterClassInfo.h2
-rw-r--r--include/llvm/CodeGen/RegisterPressure.h9
-rw-r--r--include/llvm/CodeGen/RegisterScavenging.h24
-rw-r--r--include/llvm/CodeGen/ScheduleDAGInstrs.h12
-rw-r--r--include/llvm/CodeGen/SelectionDAG.h95
-rw-r--r--include/llvm/CodeGen/SelectionDAGISel.h36
-rw-r--r--include/llvm/CodeGen/SelectionDAGNodes.h105
-rw-r--r--include/llvm/CodeGen/StackProtector.h6
-rw-r--r--include/llvm/CodeGen/SwitchLoweringUtils.h5
-rw-r--r--include/llvm/CodeGen/TargetCallingConv.h23
-rw-r--r--include/llvm/CodeGen/TargetFrameLowering.h30
-rw-r--r--include/llvm/CodeGen/TargetInstrInfo.h102
-rw-r--r--include/llvm/CodeGen/TargetLowering.h399
-rw-r--r--include/llvm/CodeGen/TargetLoweringObjectFileImpl.h34
-rw-r--r--include/llvm/CodeGen/TargetPassConfig.h2
-rw-r--r--include/llvm/CodeGen/TargetRegisterInfo.h94
-rw-r--r--include/llvm/CodeGen/TargetSubtargetInfo.h10
-rw-r--r--include/llvm/CodeGen/ValueTypes.h4
-rw-r--r--include/llvm/CodeGen/ValueTypes.td247
-rw-r--r--include/llvm/CodeGen/VirtRegMap.h43
-rw-r--r--include/llvm/DebugInfo/CodeView/CVTypeVisitor.h4
-rw-r--r--include/llvm/DebugInfo/CodeView/CodeViewRecordIO.h13
-rw-r--r--include/llvm/DebugInfo/CodeView/CodeViewRegisters.def128
-rw-r--r--include/llvm/DebugInfo/CodeView/EnumTables.h11
-rw-r--r--include/llvm/DebugInfo/CodeView/SymbolDeserializer.h2
-rw-r--r--include/llvm/DebugInfo/CodeView/SymbolRecord.h304
-rw-r--r--include/llvm/DebugInfo/CodeView/TypeDeserializer.h2
-rw-r--r--include/llvm/DebugInfo/CodeView/TypeRecordMapping.h1
-rw-r--r--include/llvm/DebugInfo/CodeView/TypeVisitorCallbackPipeline.h5
-rw-r--r--include/llvm/DebugInfo/DIContext.h14
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h4
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h68
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFAttribute.h2
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFContext.h8
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFDataExtractor.h13
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h6
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFDebugAddr.h6
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h4
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFDebugAranges.h8
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h2
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFDebugInfoEntry.h10
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFDebugLine.h27
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h35
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFDebugPubTable.h4
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h7
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFDebugRnglists.h2
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFDie.h2
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFExpression.h14
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFFormValue.h10
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFListTable.h77
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFObject.h30
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFTypeUnit.h2
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFUnit.h51
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFUnitIndex.h2
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFVerifier.h4
-rw-r--r--include/llvm/DebugInfo/GSYM/FileEntry.h7
-rw-r--r--include/llvm/DebugInfo/GSYM/FileWriter.h124
-rw-r--r--include/llvm/DebugInfo/GSYM/FunctionInfo.h154
-rw-r--r--include/llvm/DebugInfo/GSYM/GsymCreator.h229
-rw-r--r--include/llvm/DebugInfo/GSYM/GsymReader.h228
-rw-r--r--include/llvm/DebugInfo/GSYM/Header.h129
-rw-r--r--include/llvm/DebugInfo/GSYM/InlineInfo.h63
-rw-r--r--include/llvm/DebugInfo/GSYM/LineEntry.h7
-rw-r--r--include/llvm/DebugInfo/GSYM/LineTable.h198
-rw-r--r--include/llvm/DebugInfo/GSYM/Range.h33
-rw-r--r--include/llvm/DebugInfo/GSYM/StringTable.h7
-rw-r--r--include/llvm/DebugInfo/PDB/GenericError.h2
-rw-r--r--include/llvm/DebugInfo/PDB/Native/SymbolCache.h2
-rw-r--r--include/llvm/DebugInfo/PDB/PDBSymbol.h2
-rw-r--r--include/llvm/DebugInfo/Symbolize/Symbolize.h1
-rw-r--r--include/llvm/Demangle/Demangle.h9
-rw-r--r--include/llvm/Demangle/DemangleConfig.h7
-rw-r--r--include/llvm/Demangle/ItaniumDemangle.h419
-rw-r--r--include/llvm/Demangle/MicrosoftDemangle.h1
-rw-r--r--include/llvm/Demangle/MicrosoftDemangleNodes.h7
-rw-r--r--include/llvm/ExecutionEngine/JITLink/EHFrameSupport.h39
-rw-r--r--include/llvm/ExecutionEngine/JITLink/JITLink.h1244
-rw-r--r--include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h17
-rw-r--r--include/llvm/ExecutionEngine/JITLink/MachO_arm64.h60
-rw-r--r--include/llvm/ExecutionEngine/JITLink/MachO_x86_64.h1
-rw-r--r--include/llvm/ExecutionEngine/JITSymbol.h5
-rw-r--r--include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h10
-rw-r--r--include/llvm/ExecutionEngine/Orc/Core.h137
-rw-r--r--include/llvm/ExecutionEngine/Orc/ExecutionUtils.h46
-rw-r--r--include/llvm/ExecutionEngine/Orc/IRTransformLayer.h3
-rw-r--r--include/llvm/ExecutionEngine/Orc/LLJIT.h4
-rw-r--r--include/llvm/ExecutionEngine/Orc/LambdaResolver.h5
-rw-r--r--include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h40
-rw-r--r--include/llvm/ExecutionEngine/Orc/LazyReexports.h13
-rw-r--r--include/llvm/ExecutionEngine/Orc/Legacy.h2
-rw-r--r--include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h23
-rw-r--r--include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h4
-rw-r--r--include/llvm/ExecutionEngine/Orc/RPCSerialization.h12
-rw-r--r--include/llvm/ExecutionEngine/Orc/RPCUtils.h65
-rw-r--r--include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h6
-rw-r--r--include/llvm/ExecutionEngine/Orc/RemoteObjectLayer.h21
-rw-r--r--include/llvm/ExecutionEngine/Orc/SpeculateAnalyses.h84
-rw-r--r--include/llvm/ExecutionEngine/Orc/Speculation.h207
-rw-r--r--include/llvm/ExecutionEngine/Orc/ThreadSafeModule.h53
-rw-r--r--include/llvm/ExecutionEngine/RuntimeDyld.h23
-rw-r--r--include/llvm/IR/Attributes.h49
-rw-r--r--include/llvm/IR/AutoUpgrade.h10
-rw-r--r--include/llvm/IR/BasicBlock.h5
-rw-r--r--include/llvm/IR/CallSite.h9
-rw-r--r--include/llvm/IR/CallingConv.h13
-rw-r--r--include/llvm/IR/Constant.h6
-rw-r--r--include/llvm/IR/ConstantRange.h10
-rw-r--r--include/llvm/IR/DataLayout.h125
-rw-r--r--include/llvm/IR/DebugInfoFlags.def6
-rw-r--r--include/llvm/IR/DebugInfoMetadata.h4
-rw-r--r--include/llvm/IR/DerivedTypes.h75
-rw-r--r--include/llvm/IR/DiagnosticInfo.h25
-rw-r--r--include/llvm/IR/FixedMetadataKinds.def43
-rw-r--r--include/llvm/IR/Function.h15
-rw-r--r--include/llvm/IR/GlobalAlias.h4
-rw-r--r--include/llvm/IR/GlobalIFunc.h4
-rw-r--r--include/llvm/IR/GlobalIndirectSymbol.h8
-rw-r--r--include/llvm/IR/GlobalObject.h26
-rw-r--r--include/llvm/IR/GlobalVariable.h1
-rw-r--r--include/llvm/IR/IRBuilder.h90
-rw-r--r--include/llvm/IR/InlineAsm.h1
-rw-r--r--include/llvm/IR/InstrTypes.h12
-rw-r--r--include/llvm/IR/Instruction.h10
-rw-r--r--include/llvm/IR/Instructions.h99
-rw-r--r--include/llvm/IR/IntrinsicInst.h23
-rw-r--r--include/llvm/IR/Intrinsics.h10
-rw-r--r--include/llvm/IR/Intrinsics.td295
-rw-r--r--include/llvm/IR/IntrinsicsAArch64.td125
-rw-r--r--include/llvm/IR/IntrinsicsAMDGPU.td121
-rw-r--r--include/llvm/IR/IntrinsicsARM.td9
-rw-r--r--include/llvm/IR/IntrinsicsBPF.td3
-rw-r--r--include/llvm/IR/IntrinsicsMips.td16
-rw-r--r--include/llvm/IR/IntrinsicsNVVM.td125
-rw-r--r--include/llvm/IR/IntrinsicsWebAssembly.td58
-rw-r--r--include/llvm/IR/IntrinsicsX86.td12
-rw-r--r--include/llvm/IR/LLVMContext.h31
-rw-r--r--include/llvm/IR/MDBuilder.h5
-rw-r--r--include/llvm/IR/Metadata.h4
-rw-r--r--include/llvm/IR/Module.h1
-rw-r--r--include/llvm/IR/ModuleSummaryIndex.h18
-rw-r--r--include/llvm/IR/ModuleSummaryIndexYAML.h2
-rw-r--r--include/llvm/IR/Operator.h21
-rw-r--r--include/llvm/IR/PassManager.h5
-rw-r--r--include/llvm/IR/PassManagerInternal.h2
-rw-r--r--include/llvm/IR/PatternMatch.h155
-rw-r--r--include/llvm/IR/RemarkStreamer.h28
-rw-r--r--include/llvm/IR/Type.h15
-rw-r--r--include/llvm/IR/User.h2
-rw-r--r--include/llvm/IR/Value.h58
-rw-r--r--include/llvm/IR/ValueMap.h15
-rw-r--r--include/llvm/InitializePasses.h10
-rw-r--r--include/llvm/LTO/Config.h2
-rw-r--r--include/llvm/LTO/LTO.h10
-rw-r--r--include/llvm/LTO/legacy/LTOCodeGenerator.h2
-rw-r--r--include/llvm/LinkAllPasses.h2
-rw-r--r--include/llvm/MC/MCAsmInfo.h18
-rw-r--r--include/llvm/MC/MCAsmInfoXCOFF.h5
-rw-r--r--include/llvm/MC/MCAsmMacro.h11
-rw-r--r--include/llvm/MC/MCContext.h23
-rw-r--r--include/llvm/MC/MCDirectives.h1
-rw-r--r--include/llvm/MC/MCDwarf.h3
-rw-r--r--include/llvm/MC/MCExpr.h8
-rw-r--r--include/llvm/MC/MCFixup.h119
-rw-r--r--include/llvm/MC/MCFragment.h16
-rw-r--r--include/llvm/MC/MCInstPrinter.h2
-rw-r--r--include/llvm/MC/MCInstrAnalysis.h6
-rw-r--r--include/llvm/MC/MCInstrDesc.h23
-rw-r--r--include/llvm/MC/MCLinkerOptimizationHint.h2
-rw-r--r--include/llvm/MC/MCRegister.h110
-rw-r--r--include/llvm/MC/MCRegisterInfo.h98
-rw-r--r--include/llvm/MC/MCSection.h7
-rw-r--r--include/llvm/MC/MCSectionXCOFF.h22
-rw-r--r--include/llvm/MC/MCStreamer.h41
-rw-r--r--include/llvm/MC/MCSubtargetInfo.h46
-rw-r--r--include/llvm/MC/MCSymbolWasm.h7
-rw-r--r--include/llvm/MC/MCSymbolXCOFF.h32
-rw-r--r--include/llvm/MC/MCWasmObjectWriter.h4
-rw-r--r--include/llvm/MC/MCXCOFFStreamer.h2
-rw-r--r--include/llvm/MC/StringTableBuilder.h2
-rw-r--r--include/llvm/MC/SubtargetFeature.h139
-rw-r--r--include/llvm/MCA/CodeEmitter.h72
-rw-r--r--include/llvm/MCA/Context.h5
-rw-r--r--include/llvm/MCA/HardwareUnits/LSUnit.h18
-rw-r--r--include/llvm/MCA/HardwareUnits/RegisterFile.h2
-rw-r--r--include/llvm/MCA/HardwareUnits/ResourceManager.h51
-rw-r--r--include/llvm/MCA/HardwareUnits/RetireControlUnit.h33
-rw-r--r--include/llvm/MCA/HardwareUnits/Scheduler.h13
-rw-r--r--include/llvm/MCA/Instruction.h51
-rw-r--r--include/llvm/MCA/SourceMgr.h5
-rw-r--r--include/llvm/MCA/Stages/RetireStage.h6
-rw-r--r--include/llvm/Object/Archive.h7
-rw-r--r--include/llvm/Object/Binary.h16
-rw-r--r--include/llvm/Object/COFF.h36
-rw-r--r--include/llvm/Object/ELF.h112
-rw-r--r--include/llvm/Object/ELFObjectFile.h31
-rw-r--r--include/llvm/Object/ELFTypes.h6
-rw-r--r--include/llvm/Object/MachO.h1
-rw-r--r--include/llvm/Object/MachOUniversal.h14
-rw-r--r--include/llvm/Object/Minidump.h77
-rw-r--r--include/llvm/Object/ObjectFile.h21
-rw-r--r--include/llvm/Object/StackMapParser.h4
-rw-r--r--include/llvm/Object/TapiFile.h60
-rw-r--r--include/llvm/Object/TapiUniversal.h109
-rw-r--r--include/llvm/Object/WindowsResource.h55
-rw-r--r--include/llvm/Object/XCOFFObjectFile.h132
-rw-r--r--include/llvm/ObjectYAML/DWARFYAML.h2
-rw-r--r--include/llvm/ObjectYAML/ELFYAML.h116
-rw-r--r--include/llvm/ObjectYAML/MachOYAML.h3
-rw-r--r--include/llvm/ObjectYAML/MinidumpYAML.h64
-rw-r--r--include/llvm/ObjectYAML/WasmYAML.h2
-rw-r--r--include/llvm/ObjectYAML/yaml2obj.h67
-rw-r--r--include/llvm/Pass.h5
-rw-r--r--include/llvm/Passes/PassBuilder.h7
-rw-r--r--include/llvm/ProfileData/Coverage/CoverageMapping.h16
-rw-r--r--include/llvm/ProfileData/Coverage/CoverageMappingWriter.h3
-rw-r--r--include/llvm/ProfileData/InstrProf.h18
-rw-r--r--include/llvm/ProfileData/InstrProfReader.h12
-rw-r--r--include/llvm/ProfileData/SampleProf.h178
-rw-r--r--include/llvm/ProfileData/SampleProfReader.h272
-rw-r--r--include/llvm/ProfileData/SampleProfWriter.h118
-rw-r--r--include/llvm/Remarks/BitstreamRemarkContainer.h106
-rw-r--r--include/llvm/Remarks/BitstreamRemarkParser.h116
-rw-r--r--include/llvm/Remarks/BitstreamRemarkSerializer.h196
-rw-r--r--include/llvm/Remarks/Remark.h36
-rw-r--r--include/llvm/Remarks/RemarkFormat.h4
-rw-r--r--include/llvm/Remarks/RemarkParser.h38
-rw-r--r--include/llvm/Remarks/RemarkSerializer.h70
-rw-r--r--include/llvm/Remarks/RemarkStringTable.h24
-rw-r--r--include/llvm/Remarks/YAMLRemarkSerializer.h108
-rw-r--r--include/llvm/Support/AArch64TargetParser.def72
-rw-r--r--include/llvm/Support/AArch64TargetParser.h3
-rw-r--r--include/llvm/Support/ARMTargetParser.def2
-rw-r--r--include/llvm/Support/ARMTargetParser.h20
-rw-r--r--include/llvm/Support/AlignOf.h134
-rw-r--r--include/llvm/Support/Alignment.h403
-rw-r--r--include/llvm/Support/Allocator.h22
-rw-r--r--include/llvm/Support/Automaton.h253
-rw-r--r--include/llvm/Support/BinaryStreamArray.h2
-rw-r--r--include/llvm/Support/BinaryStreamReader.h2
-rw-r--r--include/llvm/Support/CRC.h45
-rw-r--r--include/llvm/Support/CommandLine.h3
-rw-r--r--include/llvm/Support/Compiler.h81
-rw-r--r--include/llvm/Support/DataExtractor.h196
-rw-r--r--include/llvm/Support/Endian.h10
-rw-r--r--include/llvm/Support/Error.h42
-rw-r--r--include/llvm/Support/FileCheck.h604
-rw-r--r--include/llvm/Support/FileCollector.h79
-rw-r--r--include/llvm/Support/FileSystem.h30
-rw-r--r--include/llvm/Support/FileUtilities.h38
-rw-r--r--include/llvm/Support/Format.h5
-rw-r--r--include/llvm/Support/GenericDomTree.h6
-rw-r--r--include/llvm/Support/GenericDomTreeConstruction.h8
-rw-r--r--include/llvm/Support/GlobPattern.h2
-rw-r--r--include/llvm/Support/Host.h28
-rw-r--r--include/llvm/Support/JamCRC.h48
-rw-r--r--include/llvm/Support/MachineValueType.h419
-rw-r--r--include/llvm/Support/MathExtras.h187
-rw-r--r--include/llvm/Support/Mutex.h105
-rw-r--r--include/llvm/Support/MutexGuard.h40
-rw-r--r--include/llvm/Support/OnDiskHashTable.h3
-rw-r--r--include/llvm/Support/Parallel.h27
-rw-r--r--include/llvm/Support/RWMutex.h321
-rw-r--r--include/llvm/Support/Regex.h18
-rw-r--r--include/llvm/Support/Registry.h2
-rw-r--r--include/llvm/Support/SHA1.h2
-rw-r--r--include/llvm/Support/ScalableSize.h43
-rw-r--r--include/llvm/Support/Signals.h11
-rw-r--r--include/llvm/Support/SwapByteOrder.h38
-rw-r--r--include/llvm/Support/TargetOpcodes.def26
-rw-r--r--include/llvm/Support/TargetRegistry.h4
-rw-r--r--include/llvm/Support/TimeProfiler.h2
-rw-r--r--include/llvm/Support/TrailingObjects.h18
-rw-r--r--include/llvm/Support/TypeSize.h201
-rw-r--r--include/llvm/Support/UnicodeCharRanges.h3
-rw-r--r--include/llvm/Support/UniqueLock.h68
-rw-r--r--include/llvm/Support/VirtualFileSystem.h16
-rw-r--r--include/llvm/Support/Win64EH.h4
-rw-r--r--include/llvm/Support/X86TargetParser.def4
-rw-r--r--include/llvm/Support/YAMLTraits.h11
-rw-r--r--include/llvm/Support/circular_raw_ostream.h4
-rw-r--r--include/llvm/Support/raw_ostream.h27
-rw-r--r--include/llvm/Support/type_traits.h18
-rw-r--r--include/llvm/TableGen/Automaton.td95
-rw-r--r--include/llvm/TableGen/Error.h1
-rw-r--r--include/llvm/TableGen/Record.h14
-rw-r--r--include/llvm/Target/GenericOpcodes.td87
-rw-r--r--include/llvm/Target/GlobalISel/Combine.td103
-rw-r--r--include/llvm/Target/GlobalISel/SelectionDAGCompat.td25
-rw-r--r--include/llvm/Target/Target.td33
-rw-r--r--include/llvm/Target/TargetCallingConv.td6
-rw-r--r--include/llvm/Target/TargetItinerary.td11
-rw-r--r--include/llvm/Target/TargetLoweringObjectFile.h3
-rw-r--r--include/llvm/Target/TargetMachine.h28
-rw-r--r--include/llvm/Target/TargetSchedule.td8
-rw-r--r--include/llvm/Target/TargetSelectionDAG.td146
-rw-r--r--include/llvm/TextAPI/MachO/Architecture.h4
-rw-r--r--include/llvm/TextAPI/MachO/ArchitectureSet.h4
-rw-r--r--include/llvm/TextAPI/MachO/InterfaceFile.h240
-rw-r--r--include/llvm/TextAPI/MachO/Platform.h45
-rw-r--r--include/llvm/TextAPI/MachO/Symbol.h35
-rw-r--r--include/llvm/TextAPI/MachO/Target.h68
-rw-r--r--include/llvm/TextAPI/MachO/TextAPIReader.h5
-rw-r--r--include/llvm/Transforms/IPO/Attributor.h1729
-rw-r--r--include/llvm/Transforms/IPO/GlobalDCE.h14
-rw-r--r--include/llvm/Transforms/IPO/HotColdSplitting.h39
-rw-r--r--include/llvm/Transforms/IPO/LowerTypeTests.h2
-rw-r--r--include/llvm/Transforms/IPO/WholeProgramDevirt.h26
-rw-r--r--include/llvm/Transforms/Instrumentation.h4
-rw-r--r--include/llvm/Transforms/Instrumentation/InstrProfiling.h5
-rw-r--r--include/llvm/Transforms/Instrumentation/MemorySanitizer.h12
-rw-r--r--include/llvm/Transforms/Instrumentation/SanitizerCoverage.h47
-rw-r--r--include/llvm/Transforms/Instrumentation/ThreadSanitizer.h2
-rw-r--r--include/llvm/Transforms/Scalar.h9
-rw-r--r--include/llvm/Transforms/Scalar/CallSiteSplitting.h5
-rw-r--r--include/llvm/Transforms/Scalar/ConstantHoisting.h10
-rw-r--r--include/llvm/Transforms/Scalar/Float2Int.h6
-rw-r--r--include/llvm/Transforms/Scalar/GVN.h7
-rw-r--r--include/llvm/Transforms/Scalar/GVNExpression.h9
-rw-r--r--include/llvm/Transforms/Scalar/LoopPassManager.h24
-rw-r--r--include/llvm/Transforms/Scalar/LoopUnrollPass.h14
-rw-r--r--include/llvm/Transforms/Scalar/LowerConstantIntrinsics.h41
-rw-r--r--include/llvm/Transforms/Scalar/MergedLoadStoreMotion.h18
-rw-r--r--include/llvm/Transforms/Scalar/Reassociate.h4
-rw-r--r--include/llvm/Transforms/Scalar/SCCP.h3
-rw-r--r--include/llvm/Transforms/Utils/BasicBlockUtils.h11
-rw-r--r--include/llvm/Transforms/Utils/BuildLibCalls.h27
-rw-r--r--include/llvm/Transforms/Utils/BypassSlowDivision.h13
-rw-r--r--include/llvm/Transforms/Utils/CodeExtractor.h57
-rw-r--r--include/llvm/Transforms/Utils/Local.h16
-rw-r--r--include/llvm/Transforms/Utils/LoopUtils.h5
-rw-r--r--include/llvm/Transforms/Utils/MisExpect.h43
-rw-r--r--include/llvm/Transforms/Utils/PredicateInfo.h10
-rw-r--r--include/llvm/Transforms/Utils/SimplifyLibCalls.h10
-rw-r--r--include/llvm/Transforms/Utils/UnrollLoop.h8
-rw-r--r--include/llvm/Transforms/Utils/ValueMapper.h9
-rw-r--r--include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h48
-rw-r--r--include/llvm/Transforms/Vectorize/LoopVectorize.h8
-rw-r--r--include/llvm/Transforms/Vectorize/SLPVectorizer.h9
-rw-r--r--include/llvm/XRay/FDRRecordProducer.h4
-rw-r--r--include/llvm/XRay/FDRRecords.h6
-rw-r--r--include/llvm/XRay/FileHeaderReader.h2
-rw-r--r--include/llvm/module.modulemap2
-rw-r--r--lib/Analysis/AliasAnalysis.cpp4
-rw-r--r--lib/Analysis/AliasSetTracker.cpp12
-rw-r--r--lib/Analysis/Analysis.cpp1
-rw-r--r--lib/Analysis/AssumptionCache.cpp12
-rw-r--r--lib/Analysis/BasicAliasAnalysis.cpp42
-rw-r--r--lib/Analysis/BranchProbabilityInfo.cpp19
-rw-r--r--lib/Analysis/CFG.cpp11
-rw-r--r--lib/Analysis/CFGPrinter.cpp2
-rw-r--r--lib/Analysis/CFLAndersAliasAnalysis.cpp19
-rw-r--r--lib/Analysis/CFLSteensAliasAnalysis.cpp20
-rw-r--r--lib/Analysis/CallGraph.cpp4
-rw-r--r--lib/Analysis/CaptureTracking.cpp46
-rw-r--r--lib/Analysis/ConstantFolding.cpp405
-rw-r--r--lib/Analysis/DDG.cpp203
-rw-r--r--lib/Analysis/DependenceAnalysis.cpp8
-rw-r--r--lib/Analysis/DependenceGraphBuilder.cpp228
-rw-r--r--lib/Analysis/DivergenceAnalysis.cpp10
-rw-r--r--lib/Analysis/GlobalsModRef.cpp37
-rw-r--r--lib/Analysis/IVDescriptors.cpp3
-rw-r--r--lib/Analysis/IndirectCallPromotionAnalysis.cpp2
-rw-r--r--lib/Analysis/InlineCost.cpp23
-rw-r--r--lib/Analysis/InstructionSimplify.cpp320
-rw-r--r--lib/Analysis/LazyBranchProbabilityInfo.cpp5
-rw-r--r--lib/Analysis/LazyCallGraph.cpp13
-rw-r--r--lib/Analysis/LazyValueInfo.cpp37
-rw-r--r--lib/Analysis/LegacyDivergenceAnalysis.cpp36
-rw-r--r--lib/Analysis/Lint.cpp2
-rw-r--r--lib/Analysis/Loads.cpp238
-rw-r--r--lib/Analysis/LoopAccessAnalysis.cpp45
-rw-r--r--lib/Analysis/LoopAnalysisManager.cpp2
-rw-r--r--lib/Analysis/LoopCacheAnalysis.cpp625
-rw-r--r--lib/Analysis/LoopInfo.cpp39
-rw-r--r--lib/Analysis/LoopUnrollAnalyzer.cpp2
-rw-r--r--lib/Analysis/MemDerefPrinter.cpp4
-rw-r--r--lib/Analysis/MemoryBuiltins.cpp51
-rw-r--r--lib/Analysis/MemoryDependenceAnalysis.cpp21
-rw-r--r--lib/Analysis/MemorySSA.cpp95
-rw-r--r--lib/Analysis/MemorySSAUpdater.cpp323
-rw-r--r--lib/Analysis/ModuleSummaryAnalysis.cpp16
-rw-r--r--lib/Analysis/MustExecute.cpp118
-rw-r--r--lib/Analysis/OptimizationRemarkEmitter.cpp4
-rw-r--r--lib/Analysis/OrderedInstructions.cpp2
-rw-r--r--lib/Analysis/ProfileSummaryInfo.cpp67
-rw-r--r--lib/Analysis/ScalarEvolution.cpp89
-rw-r--r--lib/Analysis/ScalarEvolutionExpander.cpp19
-rw-r--r--lib/Analysis/StackSafetyAnalysis.cpp4
-rw-r--r--lib/Analysis/SyncDependenceAnalysis.cpp61
-rw-r--r--lib/Analysis/TargetLibraryInfo.cpp44
-rw-r--r--lib/Analysis/TargetTransformInfo.cpp64
-rw-r--r--lib/Analysis/TypeMetadataUtils.cpp32
-rw-r--r--lib/Analysis/VFABIDemangling.cpp418
-rw-r--r--lib/Analysis/ValueTracking.cpp658
-rw-r--r--lib/Analysis/VectorUtils.cpp20
-rw-r--r--lib/AsmParser/LLLexer.cpp1
-rw-r--r--lib/AsmParser/LLParser.cpp81
-rw-r--r--lib/AsmParser/LLParser.h4
-rw-r--r--lib/AsmParser/LLToken.h1
-rw-r--r--lib/AsmParser/Parser.cpp8
-rw-r--r--lib/BinaryFormat/Dwarf.cpp22
-rw-r--r--lib/BinaryFormat/Magic.cpp5
-rw-r--r--lib/Bitcode/Reader/BitcodeAnalyzer.cpp10
-rw-r--r--lib/Bitcode/Reader/BitcodeReader.cpp84
-rw-r--r--lib/Bitcode/Reader/MetadataLoader.cpp6
-rw-r--r--lib/Bitcode/Writer/BitWriter.cpp2
-rw-r--r--lib/Bitcode/Writer/BitcodeWriter.cpp9
-rw-r--r--lib/CodeGen/AggressiveAntiDepBreaker.cpp16
-rw-r--r--lib/CodeGen/Analysis.cpp12
-rw-r--r--lib/CodeGen/AsmPrinter/AsmPrinter.cpp255
-rw-r--r--lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp3
-rw-r--r--lib/CodeGen/AsmPrinter/ByteStreamer.h12
-rw-r--r--lib/CodeGen/AsmPrinter/CodeViewDebug.cpp116
-rw-r--r--lib/CodeGen/AsmPrinter/CodeViewDebug.h3
-rw-r--r--lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp12
-rw-r--r--lib/CodeGen/AsmPrinter/DebugLocStream.h19
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp176
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfCompileUnit.h31
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfDebug.cpp644
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfDebug.h22
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfExpression.cpp95
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfExpression.h95
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfFile.h19
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfUnit.cpp47
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfUnit.h14
-rw-r--r--lib/CodeGen/AsmPrinter/EHStreamer.cpp6
-rw-r--r--lib/CodeGen/AsmPrinter/ErlangGCPrinter.cpp2
-rw-r--r--lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp4
-rw-r--r--lib/CodeGen/AsmPrinter/WinException.cpp3
-rw-r--r--lib/CodeGen/AtomicExpandPass.cpp12
-rw-r--r--lib/CodeGen/BranchFolding.cpp34
-rw-r--r--lib/CodeGen/BranchRelaxation.cpp22
-rw-r--r--lib/CodeGen/BreakFalseDeps.cpp23
-rw-r--r--lib/CodeGen/CalcSpillWeights.cpp22
-rw-r--r--lib/CodeGen/CallingConvLower.cpp42
-rw-r--r--lib/CodeGen/CodeGen.cpp5
-rw-r--r--lib/CodeGen/CodeGenPrepare.cpp122
-rw-r--r--lib/CodeGen/CriticalAntiDepBreaker.cpp9
-rw-r--r--lib/CodeGen/DFAPacketizer.cpp81
-rw-r--r--lib/CodeGen/DeadMachineInstructionElim.cpp12
-rw-r--r--lib/CodeGen/DetectDeadLanes.cpp56
-rw-r--r--lib/CodeGen/EarlyIfConversion.cpp345
-rw-r--r--lib/CodeGen/ExecutionDomainFix.cpp1
-rw-r--r--lib/CodeGen/ExpandMemCmp.cpp2
-rw-r--r--lib/CodeGen/ExpandPostRAPseudos.cpp10
-rw-r--r--lib/CodeGen/GCMetadata.cpp2
-rw-r--r--lib/CodeGen/GCRootLowering.cpp4
-rw-r--r--lib/CodeGen/GlobalISel/CSEInfo.cpp7
-rw-r--r--lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp11
-rw-r--r--lib/CodeGen/GlobalISel/CallLowering.cpp288
-rw-r--r--lib/CodeGen/GlobalISel/Combiner.cpp14
-rw-r--r--lib/CodeGen/GlobalISel/CombinerHelper.cpp919
-rw-r--r--lib/CodeGen/GlobalISel/GISelKnownBits.cpp383
-rw-r--r--lib/CodeGen/GlobalISel/IRTranslator.cpp392
-rw-r--r--lib/CodeGen/GlobalISel/InstructionSelect.cpp38
-rw-r--r--lib/CodeGen/GlobalISel/InstructionSelector.cpp2
-rw-r--r--lib/CodeGen/GlobalISel/Legalizer.cpp35
-rw-r--r--lib/CodeGen/GlobalISel/LegalizerHelper.cpp978
-rw-r--r--lib/CodeGen/GlobalISel/LegalizerInfo.cpp42
-rw-r--r--lib/CodeGen/GlobalISel/Localizer.cpp11
-rw-r--r--lib/CodeGen/GlobalISel/MachineIRBuilder.cpp93
-rw-r--r--lib/CodeGen/GlobalISel/RegBankSelect.cpp13
-rw-r--r--lib/CodeGen/GlobalISel/RegisterBank.cpp1
-rw-r--r--lib/CodeGen/GlobalISel/RegisterBankInfo.cpp17
-rw-r--r--lib/CodeGen/GlobalISel/Utils.cpp98
-rw-r--r--lib/CodeGen/GlobalMerge.cpp8
-rw-r--r--lib/CodeGen/HardwareLoops.cpp2
-rw-r--r--lib/CodeGen/IfConversion.cpp200
-rw-r--r--lib/CodeGen/ImplicitNullChecks.cpp8
-rw-r--r--lib/CodeGen/InlineSpiller.cpp22
-rw-r--r--lib/CodeGen/InterleavedLoadCombinePass.cpp4
-rw-r--r--lib/CodeGen/LLVMTargetMachine.cpp34
-rw-r--r--lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp6
-rw-r--r--lib/CodeGen/LexicalScopes.cpp1
-rw-r--r--lib/CodeGen/LiveDebugValues.cpp510
-rw-r--r--lib/CodeGen/LiveDebugVariables.cpp257
-rw-r--r--lib/CodeGen/LiveInterval.cpp7
-rw-r--r--lib/CodeGen/LiveIntervals.cpp59
-rw-r--r--lib/CodeGen/LivePhysRegs.cpp20
-rw-r--r--lib/CodeGen/LiveRangeCalc.cpp5
-rw-r--r--lib/CodeGen/LiveRangeEdit.cpp14
-rw-r--r--lib/CodeGen/LiveRangeShrink.cpp4
-rw-r--r--lib/CodeGen/LiveRegMatrix.cpp2
-rw-r--r--lib/CodeGen/LiveRegUnits.cpp12
-rw-r--r--lib/CodeGen/LiveStacks.cpp7
-rw-r--r--lib/CodeGen/LiveVariables.cpp29
-rw-r--r--lib/CodeGen/LocalStackSlotAllocation.cpp10
-rw-r--r--lib/CodeGen/LowerEmuTLS.cpp7
-rw-r--r--lib/CodeGen/MIRCanonicalizerPass.cpp359
-rw-r--r--lib/CodeGen/MIRNamerPass.cpp77
-rw-r--r--lib/CodeGen/MIRParser/MILexer.cpp1
-rw-r--r--lib/CodeGen/MIRParser/MILexer.h2
-rw-r--r--lib/CodeGen/MIRParser/MIParser.cpp60
-rw-r--r--lib/CodeGen/MIRParser/MIRParser.cpp18
-rw-r--r--lib/CodeGen/MIRPrinter.cpp16
-rw-r--r--lib/CodeGen/MIRVRegNamerUtils.cpp348
-rw-r--r--lib/CodeGen/MIRVRegNamerUtils.h91
-rw-r--r--lib/CodeGen/MachineBasicBlock.cpp64
-rw-r--r--lib/CodeGen/MachineBlockPlacement.cpp28
-rw-r--r--lib/CodeGen/MachineCSE.cpp75
-rw-r--r--lib/CodeGen/MachineCombiner.cpp6
-rw-r--r--lib/CodeGen/MachineCopyPropagation.cpp78
-rw-r--r--lib/CodeGen/MachineDominators.cpp23
-rw-r--r--lib/CodeGen/MachineFrameInfo.cpp38
-rw-r--r--lib/CodeGen/MachineFunction.cpp58
-rw-r--r--lib/CodeGen/MachineFunctionPass.cpp6
-rw-r--r--lib/CodeGen/MachineInstr.cpp116
-rw-r--r--lib/CodeGen/MachineInstrBundle.cpp14
-rw-r--r--lib/CodeGen/MachineLICM.cpp61
-rw-r--r--lib/CodeGen/MachineLoopUtils.cpp132
-rw-r--r--lib/CodeGen/MachineModuleInfo.cpp85
-rw-r--r--lib/CodeGen/MachineOperand.cpp70
-rw-r--r--lib/CodeGen/MachineOptimizationRemarkEmitter.cpp2
-rw-r--r--lib/CodeGen/MachineOutliner.cpp16
-rw-r--r--lib/CodeGen/MachinePipeliner.cpp1235
-rw-r--r--lib/CodeGen/MachinePostDominators.cpp55
-rw-r--r--lib/CodeGen/MachineRegisterInfo.cpp12
-rw-r--r--lib/CodeGen/MachineSSAUpdater.cpp6
-rw-r--r--lib/CodeGen/MachineScheduler.cpp59
-rw-r--r--lib/CodeGen/MachineSink.cpp73
-rw-r--r--lib/CodeGen/MachineTraceMetrics.cpp24
-rw-r--r--lib/CodeGen/MachineVerifier.cpp163
-rw-r--r--lib/CodeGen/MacroFusion.cpp4
-rw-r--r--lib/CodeGen/ModuloSchedule.cpp2022
-rw-r--r--lib/CodeGen/OptimizePHIs.cpp15
-rw-r--r--lib/CodeGen/PHIElimination.cpp43
-rw-r--r--lib/CodeGen/PatchableFunction.cpp2
-rw-r--r--lib/CodeGen/PeepholeOptimizer.cpp83
-rw-r--r--lib/CodeGen/PreISelIntrinsicLowering.cpp2
-rw-r--r--lib/CodeGen/ProcessImplicitDefs.cpp8
-rw-r--r--lib/CodeGen/PrologEpilogInserter.cpp2
-rw-r--r--lib/CodeGen/PseudoSourceValue.cpp6
-rw-r--r--lib/CodeGen/ReachingDefAnalysis.cpp1
-rw-r--r--lib/CodeGen/RegAllocBase.cpp4
-rw-r--r--lib/CodeGen/RegAllocFast.cpp117
-rw-r--r--lib/CodeGen/RegAllocGreedy.cpp16
-rw-r--r--lib/CodeGen/RegAllocPBQP.cpp12
-rw-r--r--lib/CodeGen/RegUsageInfoCollector.cpp10
-rw-r--r--lib/CodeGen/RegUsageInfoPropagate.cpp6
-rw-r--r--lib/CodeGen/RegisterCoalescer.cpp71
-rw-r--r--lib/CodeGen/RegisterPressure.cpp36
-rw-r--r--lib/CodeGen/RegisterScavenging.cpp62
-rw-r--r--lib/CodeGen/RenameIndependentSubregs.cpp4
-rw-r--r--lib/CodeGen/SafeStack.cpp2
-rw-r--r--lib/CodeGen/ScalarizeMaskedMemIntrin.cpp167
-rw-r--r--lib/CodeGen/ScheduleDAGInstrs.cpp57
-rw-r--r--lib/CodeGen/SelectionDAG/DAGCombiner.cpp1758
-rw-r--r--lib/CodeGen/SelectionDAG/FastISel.cpp67
-rw-r--r--lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp7
-rw-r--r--lib/CodeGen/SelectionDAG/InstrEmitter.cpp77
-rw-r--r--lib/CodeGen/SelectionDAG/LegalizeDAG.cpp222
-rw-r--r--lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp430
-rw-r--r--lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp510
-rw-r--r--lib/CodeGen/SelectionDAG/LegalizeTypes.cpp56
-rw-r--r--lib/CodeGen/SelectionDAG/LegalizeTypes.h61
-rw-r--r--lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp46
-rw-r--r--lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp50
-rw-r--r--lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp139
-rw-r--r--lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp2
-rw-r--r--lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp18
-rw-r--r--lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp18
-rw-r--r--lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h3
-rw-r--r--lib/CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp9
-rw-r--r--lib/CodeGen/SelectionDAG/SelectionDAG.cpp283
-rw-r--r--lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp1
-rw-r--r--lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp495
-rw-r--r--lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h2
-rw-r--r--lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp9
-rw-r--r--lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp35
-rw-r--r--lib/CodeGen/SelectionDAG/StatepointLowering.cpp34
-rw-r--r--lib/CodeGen/SelectionDAG/TargetLowering.cpp1406
-rw-r--r--lib/CodeGen/ShrinkWrap.cpp5
-rw-r--r--lib/CodeGen/SjLjEHPrepare.cpp5
-rw-r--r--lib/CodeGen/SplitKit.cpp6
-rw-r--r--lib/CodeGen/SplitKit.h2
-rw-r--r--lib/CodeGen/StackMaps.cpp8
-rw-r--r--lib/CodeGen/StackProtector.cpp67
-rw-r--r--lib/CodeGen/StackSlotColoring.cpp8
-rw-r--r--lib/CodeGen/SwiftErrorValueTracking.cpp3
-rw-r--r--lib/CodeGen/TailDuplicator.cpp22
-rw-r--r--lib/CodeGen/TargetFrameLoweringImpl.cpp19
-rw-r--r--lib/CodeGen/TargetInstrInfo.cpp82
-rw-r--r--lib/CodeGen/TargetLoweringBase.cpp95
-rw-r--r--lib/CodeGen/TargetLoweringObjectFileImpl.cpp107
-rw-r--r--lib/CodeGen/TargetPassConfig.cpp24
-rw-r--r--lib/CodeGen/TargetRegisterInfo.cpp60
-rw-r--r--lib/CodeGen/TargetSchedule.cpp2
-rw-r--r--lib/CodeGen/TwoAddressInstructionPass.cpp90
-rw-r--r--lib/CodeGen/UnreachableBlockElim.cpp15
-rw-r--r--lib/CodeGen/ValueTypes.cpp150
-rw-r--r--lib/CodeGen/VirtRegMap.cpp71
-rw-r--r--lib/CodeGen/XRayInstrumentation.cpp2
-rw-r--r--lib/DebugInfo/CodeView/CVTypeVisitor.cpp15
-rw-r--r--lib/DebugInfo/CodeView/CodeViewRecordIO.cpp8
-rw-r--r--lib/DebugInfo/CodeView/EnumTables.cpp166
-rw-r--r--lib/DebugInfo/CodeView/SymbolDumper.cpp2
-rw-r--r--lib/DebugInfo/CodeView/SymbolRecordMapping.cpp2
-rw-r--r--lib/DebugInfo/CodeView/TypeRecordMapping.cpp238
-rw-r--r--lib/DebugInfo/DWARF/DWARFAbbreviationDeclaration.cpp8
-rw-r--r--lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp105
-rw-r--r--lib/DebugInfo/DWARF/DWARFCompileUnit.cpp10
-rw-r--r--lib/DebugInfo/DWARF/DWARFContext.cpp335
-rw-r--r--lib/DebugInfo/DWARF/DWARFDataExtractor.cpp13
-rw-r--r--lib/DebugInfo/DWARF/DWARFDebugAbbrev.cpp10
-rw-r--r--lib/DebugInfo/DWARF/DWARFDebugAddr.cpp28
-rw-r--r--lib/DebugInfo/DWARF/DWARFDebugArangeSet.cpp4
-rw-r--r--lib/DebugInfo/DWARF/DWARFDebugAranges.cpp12
-rw-r--r--lib/DebugInfo/DWARF/DWARFDebugFrame.cpp74
-rw-r--r--lib/DebugInfo/DWARF/DWARFDebugInfoEntry.cpp8
-rw-r--r--lib/DebugInfo/DWARF/DWARFDebugLine.cpp159
-rw-r--r--lib/DebugInfo/DWARF/DWARFDebugLoc.cpp257
-rw-r--r--lib/DebugInfo/DWARF/DWARFDebugMacro.cpp2
-rw-r--r--lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp6
-rw-r--r--lib/DebugInfo/DWARF/DWARFDebugRangeList.cpp18
-rw-r--r--lib/DebugInfo/DWARF/DWARFDebugRnglists.cpp30
-rw-r--r--lib/DebugInfo/DWARF/DWARFDie.cpp54
-rw-r--r--lib/DebugInfo/DWARF/DWARFExpression.cpp13
-rw-r--r--lib/DebugInfo/DWARF/DWARFFormValue.cpp9
-rw-r--r--lib/DebugInfo/DWARF/DWARFGdbIndex.cpp2
-rw-r--r--lib/DebugInfo/DWARF/DWARFListTable.cpp70
-rw-r--r--lib/DebugInfo/DWARF/DWARFTypeUnit.cpp14
-rw-r--r--lib/DebugInfo/DWARF/DWARFUnit.cpp231
-rw-r--r--lib/DebugInfo/DWARF/DWARFUnitIndex.cpp12
-rw-r--r--lib/DebugInfo/DWARF/DWARFVerifier.cpp120
-rw-r--r--lib/DebugInfo/GSYM/FileWriter.cpp78
-rw-r--r--lib/DebugInfo/GSYM/FunctionInfo.cpp143
-rw-r--r--lib/DebugInfo/GSYM/GsymCreator.cpp275
-rw-r--r--lib/DebugInfo/GSYM/GsymReader.cpp265
-rw-r--r--lib/DebugInfo/GSYM/Header.cpp109
-rw-r--r--lib/DebugInfo/GSYM/InlineInfo.cpp100
-rw-r--r--lib/DebugInfo/GSYM/LineTable.cpp287
-rw-r--r--lib/DebugInfo/GSYM/Range.cpp47
-rw-r--r--lib/DebugInfo/MSF/MappedBlockStream.cpp6
-rw-r--r--lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp28
-rw-r--r--lib/DebugInfo/PDB/DIA/DIASectionContrib.cpp2
-rw-r--r--lib/DebugInfo/PDB/DIA/DIASession.cpp46
-rw-r--r--lib/DebugInfo/PDB/GenericError.cpp4
-rw-r--r--lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp4
-rw-r--r--lib/DebugInfo/PDB/Native/DbiStreamBuilder.cpp2
-rw-r--r--lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp4
-rw-r--r--lib/DebugInfo/PDB/Native/Hash.cpp5
-rw-r--r--lib/DebugInfo/PDB/Native/NativeEnumInjectedSources.cpp29
-rw-r--r--lib/DebugInfo/PDB/Native/NativeRawSymbol.cpp24
-rw-r--r--lib/DebugInfo/PDB/Native/NativeSession.cpp10
-rw-r--r--lib/DebugInfo/PDB/Native/NativeTypeEnum.cpp4
-rw-r--r--lib/DebugInfo/PDB/Native/NativeTypeFunctionSig.cpp6
-rw-r--r--lib/DebugInfo/PDB/Native/PDBFile.cpp18
-rw-r--r--lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp17
-rw-r--r--lib/DebugInfo/PDB/Native/TpiHashing.cpp6
-rw-r--r--lib/DebugInfo/PDB/Native/TpiStream.cpp2
-rw-r--r--lib/DebugInfo/PDB/Native/TpiStreamBuilder.cpp2
-rw-r--r--lib/DebugInfo/PDB/PDBSymbolFunc.cpp2
-rw-r--r--lib/DebugInfo/PDB/PDBSymbolTypeFunctionSig.cpp2
-rw-r--r--lib/DebugInfo/PDB/UDTLayout.cpp14
-rw-r--r--lib/DebugInfo/Symbolize/DIPrinter.cpp17
-rw-r--r--lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp32
-rw-r--r--lib/DebugInfo/Symbolize/SymbolizableObjectFile.h7
-rw-r--r--lib/DebugInfo/Symbolize/Symbolize.cpp52
-rw-r--r--lib/Demangle/ItaniumDemangle.cpp10
-rw-r--r--lib/Demangle/MicrosoftDemangle.cpp32
-rw-r--r--lib/Demangle/MicrosoftDemangleNodes.cpp51
-rw-r--r--lib/ExecutionEngine/ExecutionEngine.cpp34
-rw-r--r--lib/ExecutionEngine/GDBRegistrationListener.cpp8
-rw-r--r--lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp4
-rw-r--r--lib/ExecutionEngine/JITLink/BasicGOTAndStubsBuilder.h35
-rw-r--r--lib/ExecutionEngine/JITLink/EHFrameSupport.cpp216
-rw-r--r--lib/ExecutionEngine/JITLink/EHFrameSupportImpl.h50
-rw-r--r--lib/ExecutionEngine/JITLink/JITLink.cpp158
-rw-r--r--lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp385
-rw-r--r--lib/ExecutionEngine/JITLink/JITLinkGeneric.h185
-rw-r--r--lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp63
-rw-r--r--lib/ExecutionEngine/JITLink/MachO.cpp3
-rw-r--r--lib/ExecutionEngine/JITLink/MachOAtomGraphBuilder.cpp411
-rw-r--r--lib/ExecutionEngine/JITLink/MachOAtomGraphBuilder.h138
-rw-r--r--lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp535
-rw-r--r--lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h269
-rw-r--r--lib/ExecutionEngine/JITLink/MachO_arm64.cpp736
-rw-r--r--lib/ExecutionEngine/JITLink/MachO_x86_64.cpp279
-rw-r--r--lib/ExecutionEngine/MCJIT/MCJIT.cpp38
-rw-r--r--lib/ExecutionEngine/OProfileJIT/OProfileJITEventListener.cpp2
-rw-r--r--lib/ExecutionEngine/OProfileJIT/OProfileWrapper.cpp4
-rw-r--r--lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp127
-rw-r--r--lib/ExecutionEngine/Orc/CompileUtils.cpp2
-rw-r--r--lib/ExecutionEngine/Orc/Core.cpp506
-rw-r--r--lib/ExecutionEngine/Orc/ExecutionUtils.cpp92
-rw-r--r--lib/ExecutionEngine/Orc/IRCompileLayer.cpp4
-rw-r--r--lib/ExecutionEngine/Orc/IRTransformLayer.cpp2
-rw-r--r--lib/ExecutionEngine/Orc/IndirectionUtils.cpp27
-rw-r--r--lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp17
-rw-r--r--lib/ExecutionEngine/Orc/LLJIT.cpp38
-rw-r--r--lib/ExecutionEngine/Orc/Layer.cpp26
-rw-r--r--lib/ExecutionEngine/Orc/LazyReexports.cpp18
-rw-r--r--lib/ExecutionEngine/Orc/Legacy.cpp5
-rw-r--r--lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp258
-rw-r--r--lib/ExecutionEngine/Orc/OrcCBindingsStack.h11
-rw-r--r--lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp24
-rw-r--r--lib/ExecutionEngine/Orc/SpeculateAnalyses.cpp307
-rw-r--r--lib/ExecutionEngine/Orc/Speculation.cpp146
-rw-r--r--lib/ExecutionEngine/Orc/ThreadSafeModule.cpp58
-rw-r--r--lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp8
-rw-r--r--lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp64
-rw-r--r--lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.cpp8
-rw-r--r--lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp2
-rw-r--r--lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp54
-rw-r--r--lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h2
-rw-r--r--lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp17
-rw-r--r--lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.h8
-rw-r--r--lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOARM.h5
-rw-r--r--lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOI386.h5
-rw-r--r--lib/FuzzMutate/FuzzerCLI.cpp2
-rw-r--r--lib/IR/AsmWriter.cpp11
-rw-r--r--lib/IR/AttributeImpl.h6
-rw-r--r--lib/IR/Attributes.cpp84
-rw-r--r--lib/IR/AutoUpgrade.cpp157
-rw-r--r--lib/IR/BasicBlock.cpp7
-rw-r--r--lib/IR/ConstantFold.cpp25
-rw-r--r--lib/IR/ConstantRange.cpp76
-rw-r--r--lib/IR/Constants.cpp56
-rw-r--r--lib/IR/ConstantsContext.h12
-rw-r--r--lib/IR/Core.cpp114
-rw-r--r--lib/IR/DIBuilder.cpp2
-rw-r--r--lib/IR/DataLayout.cpp163
-rw-r--r--lib/IR/DebugInfo.cpp22
-rw-r--r--lib/IR/DebugInfoMetadata.cpp34
-rw-r--r--lib/IR/DiagnosticInfo.cpp11
-rw-r--r--lib/IR/Function.cpp103
-rw-r--r--lib/IR/Globals.cpp51
-rw-r--r--lib/IR/IRBuilder.cpp8
-rw-r--r--lib/IR/IRPrintingPasses.cpp18
-rw-r--r--lib/IR/InlineAsm.cpp10
-rw-r--r--lib/IR/Instruction.cpp2
-rw-r--r--lib/IR/Instructions.cpp167
-rw-r--r--lib/IR/IntrinsicInst.cpp15
-rw-r--r--lib/IR/LLVMContext.cpp31
-rw-r--r--lib/IR/LLVMContextImpl.cpp2
-rw-r--r--lib/IR/LegacyPassManager.cpp20
-rw-r--r--lib/IR/MDBuilder.cpp12
-rw-r--r--lib/IR/Metadata.cpp18
-rw-r--r--lib/IR/Module.cpp2
-rw-r--r--lib/IR/RemarkStreamer.cpp72
-rw-r--r--lib/IR/SafepointIRVerifier.cpp4
-rw-r--r--lib/IR/Type.cpp27
-rw-r--r--lib/IR/Value.cpp111
-rw-r--r--lib/IR/Verifier.cpp167
-rw-r--r--lib/LTO/Caching.cpp4
-rw-r--r--lib/LTO/LTO.cpp63
-rw-r--r--lib/LTO/LTOBackend.cpp18
-rw-r--r--lib/LTO/LTOCodeGenerator.cpp13
-rw-r--r--lib/LTO/LTOModule.cpp3
-rw-r--r--lib/LTO/SummaryBasedOptimizations.cpp2
-rw-r--r--lib/LTO/ThinLTOCodeGenerator.cpp139
-rw-r--r--lib/Linker/IRMover.cpp112
-rw-r--r--lib/Linker/LinkModules.cpp3
-rw-r--r--lib/MC/ELFObjectWriter.cpp86
-rw-r--r--lib/MC/MCAsmBackend.cpp5
-rw-r--r--lib/MC/MCAsmInfoXCOFF.cpp17
-rw-r--r--lib/MC/MCAsmMacro.cpp2
-rw-r--r--lib/MC/MCAsmStreamer.cpp140
-rw-r--r--lib/MC/MCAssembler.cpp38
-rw-r--r--lib/MC/MCContext.cpp29
-rw-r--r--lib/MC/MCDwarf.cpp44
-rw-r--r--lib/MC/MCELFStreamer.cpp7
-rw-r--r--lib/MC/MCExpr.cpp46
-rw-r--r--lib/MC/MCInstPrinter.cpp31
-rw-r--r--lib/MC/MCInstrAnalysis.cpp6
-rw-r--r--lib/MC/MCMachOStreamer.cpp1
-rw-r--r--lib/MC/MCObjectFileInfo.cpp14
-rw-r--r--lib/MC/MCObjectStreamer.cpp4
-rw-r--r--lib/MC/MCParser/AsmParser.cpp142
-rw-r--r--lib/MC/MCParser/COFFAsmParser.cpp155
-rw-r--r--lib/MC/MCParser/DarwinAsmParser.cpp4
-rw-r--r--lib/MC/MCParser/WasmAsmParser.cpp1
-rw-r--r--lib/MC/MCRegisterInfo.cpp48
-rw-r--r--lib/MC/MCSectionXCOFF.cpp50
-rw-r--r--lib/MC/MCStreamer.cpp84
-rw-r--r--lib/MC/MCSubtargetInfo.cpp25
-rw-r--r--lib/MC/MCWasmObjectTargetWriter.cpp5
-rw-r--r--lib/MC/MCWasmStreamer.cpp2
-rw-r--r--lib/MC/MCWinCOFFStreamer.cpp18
-rw-r--r--lib/MC/MCXCOFFStreamer.cpp54
-rw-r--r--lib/MC/MachObjectWriter.cpp14
-rw-r--r--lib/MC/StringTableBuilder.cpp10
-rw-r--r--lib/MC/WasmObjectWriter.cpp77
-rw-r--r--lib/MC/WinCOFFObjectWriter.cpp10
-rw-r--r--lib/MC/XCOFFObjectWriter.cpp533
-rw-r--r--lib/MCA/CodeEmitter.cpp37
-rw-r--r--lib/MCA/Context.cpp23
-rw-r--r--lib/MCA/HardwareUnits/LSUnit.cpp28
-rw-r--r--lib/MCA/HardwareUnits/RegisterFile.cpp16
-rw-r--r--lib/MCA/HardwareUnits/ResourceManager.cpp59
-rw-r--r--lib/MCA/HardwareUnits/RetireControlUnit.cpp65
-rw-r--r--lib/MCA/HardwareUnits/Scheduler.cpp12
-rw-r--r--lib/MCA/InstrBuilder.cpp44
-rw-r--r--lib/MCA/Instruction.cpp4
-rw-r--r--lib/MCA/Stages/DispatchStage.cpp19
-rw-r--r--lib/MCA/Stages/EntryStage.cpp2
-rw-r--r--lib/MCA/Stages/ExecuteStage.cpp22
-rw-r--r--lib/MCA/Stages/RetireStage.cpp8
-rw-r--r--lib/Object/Archive.cpp6
-rw-r--r--lib/Object/ArchiveWriter.cpp35
-rw-r--r--lib/Object/Binary.cpp3
-rw-r--r--lib/Object/COFFObjectFile.cpp198
-rw-r--r--lib/Object/Decompressor.cpp15
-rw-r--r--lib/Object/ELF.cpp2
-rw-r--r--lib/Object/ELFObjectFile.cpp38
-rw-r--r--lib/Object/MachOObjectFile.cpp48
-rw-r--r--lib/Object/MachOUniversal.cpp38
-rw-r--r--lib/Object/Minidump.cpp46
-rw-r--r--lib/Object/Object.cpp10
-rw-r--r--lib/Object/ObjectFile.cpp11
-rw-r--r--lib/Object/RelocationResolver.cpp67
-rw-r--r--lib/Object/SymbolicFile.cpp1
-rw-r--r--lib/Object/TapiFile.cpp104
-rw-r--r--lib/Object/TapiUniversal.cpp54
-rw-r--r--lib/Object/WasmObjectFile.cpp13
-rw-r--r--lib/Object/WindowsResource.cpp346
-rw-r--r--lib/Object/XCOFFObjectFile.cpp240
-rw-r--r--lib/ObjectYAML/COFFEmitter.cpp622
-rw-r--r--lib/ObjectYAML/CodeViewYAMLSymbols.cpp2
-rw-r--r--lib/ObjectYAML/ELFEmitter.cpp1152
-rw-r--r--lib/ObjectYAML/ELFYAML.cpp325
-rw-r--r--lib/ObjectYAML/MachOEmitter.cpp580
-rw-r--r--lib/ObjectYAML/MachOYAML.cpp9
-rw-r--r--lib/ObjectYAML/MinidumpEmitter.cpp247
-rw-r--r--lib/ObjectYAML/MinidumpYAML.cpp331
-rw-r--r--lib/ObjectYAML/WasmEmitter.cpp633
-rw-r--r--lib/ObjectYAML/WasmYAML.cpp4
-rw-r--r--lib/ObjectYAML/yaml2obj.cpp77
-rw-r--r--lib/Option/ArgList.cpp8
-rw-r--r--lib/Passes/PassBuilder.cpp164
-rw-r--r--lib/Passes/PassRegistry.def14
-rw-r--r--lib/ProfileData/Coverage/CoverageMapping.cpp60
-rw-r--r--lib/ProfileData/Coverage/CoverageMappingReader.cpp20
-rw-r--r--lib/ProfileData/Coverage/CoverageMappingWriter.cpp10
-rw-r--r--lib/ProfileData/GCOV.cpp12
-rw-r--r--lib/ProfileData/InstrProf.cpp18
-rw-r--r--lib/ProfileData/InstrProfReader.cpp44
-rw-r--r--lib/ProfileData/InstrProfWriter.cpp2
-rw-r--r--lib/ProfileData/ProfileSummaryBuilder.cpp4
-rw-r--r--lib/ProfileData/SampleProf.cpp56
-rw-r--r--lib/ProfileData/SampleProfReader.cpp447
-rw-r--r--lib/ProfileData/SampleProfWriter.cpp279
-rw-r--r--lib/Remarks/BitstreamRemarkParser.cpp597
-rw-r--r--lib/Remarks/BitstreamRemarkParser.h83
-rw-r--r--lib/Remarks/BitstreamRemarkSerializer.cpp386
-rw-r--r--lib/Remarks/RemarkFormat.cpp4
-rw-r--r--lib/Remarks/RemarkParser.cpp72
-rw-r--r--lib/Remarks/RemarkSerializer.cpp54
-rw-r--r--lib/Remarks/RemarkStringTable.cpp28
-rw-r--r--lib/Remarks/YAMLRemarkParser.cpp165
-rw-r--r--lib/Remarks/YAMLRemarkParser.h38
-rw-r--r--lib/Remarks/YAMLRemarkSerializer.cpp134
-rw-r--r--lib/Support/AArch64TargetParser.cpp4
-rw-r--r--lib/Support/ABIBreak.cpp24
-rw-r--r--lib/Support/APInt.cpp52
-rw-r--r--lib/Support/ARMTargetParser.cpp8
-rw-r--r--lib/Support/CRC.cpp113
-rw-r--r--lib/Support/CachePruning.cpp2
-rw-r--r--lib/Support/CodeGenCoverage.cpp4
-rw-r--r--lib/Support/CommandLine.cpp2
-rw-r--r--lib/Support/CrashRecoveryContext.cpp8
-rw-r--r--lib/Support/DataExtractor.cpp160
-rw-r--r--lib/Support/Error.cpp17
-rw-r--r--lib/Support/FileCheck.cpp356
-rw-r--r--lib/Support/FileCheckImpl.h624
-rw-r--r--lib/Support/FileCollector.cpp268
-rw-r--r--lib/Support/FileOutputBuffer.cpp6
-rw-r--r--lib/Support/FileUtilities.cpp66
-rw-r--r--lib/Support/GlobPattern.cpp23
-rw-r--r--lib/Support/Host.cpp34
-rw-r--r--lib/Support/JSON.cpp2
-rw-r--r--lib/Support/JamCRC.cpp96
-rw-r--r--lib/Support/ManagedStatic.cpp13
-rw-r--r--lib/Support/MemoryBuffer.cpp31
-rw-r--r--lib/Support/Mutex.cpp123
-rw-r--r--lib/Support/Parallel.cpp31
-rw-r--r--lib/Support/Path.cpp6
-rw-r--r--lib/Support/PrettyStackTrace.cpp64
-rw-r--r--lib/Support/RWMutex.cpp58
-rw-r--r--lib/Support/Regex.cpp39
-rw-r--r--lib/Support/Signposts.cpp2
-rw-r--r--lib/Support/SpecialCaseList.cpp4
-rw-r--r--lib/Support/Statistic.cpp27
-rw-r--r--lib/Support/StringExtras.cpp4
-rw-r--r--lib/Support/TimeProfiler.cpp63
-rw-r--r--lib/Support/Timer.cpp10
-rw-r--r--lib/Support/Unix/Memory.inc6
-rw-r--r--lib/Support/Unix/Mutex.inc42
-rw-r--r--lib/Support/Unix/Path.inc73
-rw-r--r--lib/Support/Unix/Process.inc7
-rw-r--r--lib/Support/Unix/Program.inc4
-rw-r--r--lib/Support/Unix/RWMutex.inc50
-rw-r--r--lib/Support/Unix/Signals.inc15
-rw-r--r--lib/Support/VirtualFileSystem.cpp102
-rw-r--r--lib/Support/Windows/Mutex.inc56
-rw-r--r--lib/Support/Windows/Path.inc93
-rw-r--r--lib/Support/Windows/Program.inc2
-rw-r--r--lib/Support/Windows/RWMutex.inc128
-rw-r--r--lib/Support/Windows/Signals.inc3
-rw-r--r--lib/Support/Windows/WindowsSupport.h1
-rw-r--r--lib/Support/Windows/explicit_symbols.inc6
-rw-r--r--lib/Support/YAMLTraits.cpp16
-rw-r--r--lib/Support/Z3Solver.cpp2
-rw-r--r--lib/Support/raw_ostream.cpp35
-rw-r--r--lib/Support/regcomp.c7
-rw-r--r--lib/TableGen/Error.cpp2
-rw-r--r--lib/TableGen/Main.cpp21
-rw-r--r--lib/TableGen/Record.cpp11
-rw-r--r--lib/TableGen/SetTheory.cpp22
-rw-r--r--lib/TableGen/TGLexer.cpp4
-rw-r--r--lib/TableGen/TGParser.cpp28
-rw-r--r--lib/Target/AArch64/AArch64.h6
-rw-r--r--lib/Target/AArch64/AArch64.td80
-rw-r--r--lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp12
-rw-r--r--lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp16
-rw-r--r--lib/Target/AArch64/AArch64AsmPrinter.cpp280
-rw-r--r--lib/Target/AArch64/AArch64CallLowering.cpp632
-rw-r--r--lib/Target/AArch64/AArch64CallLowering.h29
-rw-r--r--lib/Target/AArch64/AArch64CallingConvention.cpp38
-rw-r--r--lib/Target/AArch64/AArch64CallingConvention.h3
-rw-r--r--lib/Target/AArch64/AArch64CallingConvention.td88
-rw-r--r--lib/Target/AArch64/AArch64CollectLOH.cpp22
-rw-r--r--lib/Target/AArch64/AArch64Combine.td18
-rw-r--r--lib/Target/AArch64/AArch64CondBrTuning.cpp4
-rw-r--r--lib/Target/AArch64/AArch64ConditionalCompares.cpp6
-rw-r--r--lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp4
-rw-r--r--lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp76
-rw-r--r--lib/Target/AArch64/AArch64FalkorHWPFFix.cpp2
-rw-r--r--lib/Target/AArch64/AArch64FastISel.cpp75
-rw-r--r--lib/Target/AArch64/AArch64FrameLowering.cpp301
-rw-r--r--lib/Target/AArch64/AArch64FrameLowering.h28
-rw-r--r--lib/Target/AArch64/AArch64ISelDAGToDAG.cpp45
-rw-r--r--lib/Target/AArch64/AArch64ISelLowering.cpp535
-rw-r--r--lib/Target/AArch64/AArch64ISelLowering.h37
-rw-r--r--lib/Target/AArch64/AArch64InstrAtomics.td65
-rw-r--r--lib/Target/AArch64/AArch64InstrFormats.td220
-rw-r--r--lib/Target/AArch64/AArch64InstrInfo.cpp1054
-rw-r--r--lib/Target/AArch64/AArch64InstrInfo.h12
-rw-r--r--lib/Target/AArch64/AArch64InstrInfo.td253
-rw-r--r--lib/Target/AArch64/AArch64InstructionSelector.cpp1096
-rw-r--r--lib/Target/AArch64/AArch64LegalizerInfo.cpp111
-rw-r--r--lib/Target/AArch64/AArch64LegalizerInfo.h3
-rw-r--r--lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp160
-rw-r--r--lib/Target/AArch64/AArch64MCInstLower.cpp2
-rw-r--r--lib/Target/AArch64/AArch64MachineFunctionInfo.h17
-rw-r--r--lib/Target/AArch64/AArch64PBQPRegAlloc.cpp16
-rw-r--r--lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp98
-rw-r--r--lib/Target/AArch64/AArch64RegisterBankInfo.cpp39
-rw-r--r--lib/Target/AArch64/AArch64RegisterInfo.cpp69
-rw-r--r--lib/Target/AArch64/AArch64SIMDInstrOpt.cpp8
-rw-r--r--lib/Target/AArch64/AArch64SVEInstrInfo.td264
-rw-r--r--lib/Target/AArch64/AArch64SelectionDAGInfo.cpp2
-rw-r--r--lib/Target/AArch64/AArch64SpeculationHardening.cpp13
-rw-r--r--lib/Target/AArch64/AArch64StackOffset.h138
-rw-r--r--lib/Target/AArch64/AArch64StackTagging.cpp394
-rw-r--r--lib/Target/AArch64/AArch64StackTaggingPreRA.cpp209
-rw-r--r--lib/Target/AArch64/AArch64StorePairSuppress.cpp2
-rw-r--r--lib/Target/AArch64/AArch64Subtarget.cpp50
-rw-r--r--lib/Target/AArch64/AArch64Subtarget.h48
-rw-r--r--lib/Target/AArch64/AArch64SystemOperands.td40
-rw-r--r--lib/Target/AArch64/AArch64TargetMachine.cpp35
-rw-r--r--lib/Target/AArch64/AArch64TargetObjectFile.cpp4
-rw-r--r--lib/Target/AArch64/AArch64TargetObjectFile.h3
-rw-r--r--lib/Target/AArch64/AArch64TargetTransformInfo.cpp29
-rw-r--r--lib/Target/AArch64/AArch64TargetTransformInfo.h14
-rw-r--r--lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp123
-rw-r--r--lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp13
-rw-r--r--lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp22
-rw-r--r--lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp3
-rw-r--r--lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp5
-rw-r--r--lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h2
-rw-r--r--lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp7
-rw-r--r--lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h20
-rw-r--r--lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp2
-rw-r--r--lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp4
-rw-r--r--lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp2
-rw-r--r--lib/Target/AArch64/SVEInstrFormats.td366
-rw-r--r--lib/Target/AArch64/Utils/AArch64BaseInfo.cpp2
-rw-r--r--lib/Target/AArch64/Utils/AArch64BaseInfo.h25
-rw-r--r--lib/Target/AMDGPU/AMDGPU.h4
-rw-r--r--lib/Target/AMDGPU/AMDGPU.td16
-rw-r--r--lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp21
-rw-r--r--lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.h4
-rw-r--r--lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp78
-rw-r--r--lib/Target/AMDGPU/AMDGPUAsmPrinter.h10
-rw-r--r--lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp345
-rw-r--r--lib/Target/AMDGPU/AMDGPUCallLowering.cpp701
-rw-r--r--lib/Target/AMDGPU/AMDGPUCallLowering.h29
-rw-r--r--lib/Target/AMDGPU/AMDGPUCallingConv.td27
-rw-r--r--lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp12
-rw-r--r--lib/Target/AMDGPU/AMDGPUFrameLowering.cpp6
-rw-r--r--lib/Target/AMDGPU/AMDGPUFrameLowering.h4
-rw-r--r--lib/Target/AMDGPU/AMDGPUGISel.td78
-rw-r--r--lib/Target/AMDGPU/AMDGPUGenRegisterBankInfo.def80
-rw-r--r--lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp9
-rw-r--r--lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h2
-rw-r--r--lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp272
-rw-r--r--lib/Target/AMDGPU/AMDGPUISelLowering.cpp250
-rw-r--r--lib/Target/AMDGPU/AMDGPUISelLowering.h18
-rw-r--r--lib/Target/AMDGPU/AMDGPUInline.cpp2
-rw-r--r--lib/Target/AMDGPU/AMDGPUInstrInfo.td126
-rw-r--r--lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp1144
-rw-r--r--lib/Target/AMDGPU/AMDGPUInstructionSelector.h48
-rw-r--r--lib/Target/AMDGPU/AMDGPUInstructions.td216
-rw-r--r--lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp1132
-rw-r--r--lib/Target/AMDGPU/AMDGPULegalizerInfo.h52
-rw-r--r--lib/Target/AMDGPU/AMDGPULibCalls.cpp37
-rw-r--r--lib/Target/AMDGPU/AMDGPULibFunc.cpp14
-rw-r--r--lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp20
-rw-r--r--lib/Target/AMDGPU/AMDGPUMCInstLower.cpp4
-rw-r--r--lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp38
-rw-r--r--lib/Target/AMDGPU/AMDGPUMachineFunction.cpp1
-rw-r--r--lib/Target/AMDGPU/AMDGPUMachineFunction.h6
-rw-r--r--lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp592
-rw-r--r--lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp2
-rw-r--r--lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp1234
-rw-r--r--lib/Target/AMDGPU/AMDGPURegisterBankInfo.h56
-rw-r--r--lib/Target/AMDGPU/AMDGPURegisterBanks.td6
-rw-r--r--lib/Target/AMDGPU/AMDGPURegisterInfo.cpp66
-rw-r--r--lib/Target/AMDGPU/AMDGPURegisterInfo.h2
-rw-r--r--lib/Target/AMDGPU/AMDGPUSearchableTables.td4
-rw-r--r--lib/Target/AMDGPU/AMDGPUSubtarget.cpp64
-rw-r--r--lib/Target/AMDGPU/AMDGPUSubtarget.h67
-rw-r--r--lib/Target/AMDGPU/AMDGPUTargetMachine.cpp29
-rw-r--r--lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp90
-rw-r--r--lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h20
-rw-r--r--lib/Target/AMDGPU/AMDILCFGStructurizer.cpp8
-rw-r--r--lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp595
-rw-r--r--lib/Target/AMDGPU/BUFInstructions.td694
-rw-r--r--lib/Target/AMDGPU/DSInstructions.td92
-rw-r--r--lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp4
-rw-r--r--lib/Target/AMDGPU/EvergreenInstructions.td60
-rw-r--r--lib/Target/AMDGPU/FLATInstructions.td196
-rw-r--r--lib/Target/AMDGPU/GCNDPPCombine.cpp88
-rw-r--r--lib/Target/AMDGPU/GCNHazardRecognizer.cpp21
-rw-r--r--lib/Target/AMDGPU/GCNILPSched.cpp1
-rw-r--r--lib/Target/AMDGPU/GCNIterativeScheduler.cpp2
-rw-r--r--lib/Target/AMDGPU/GCNNSAReassign.cpp8
-rw-r--r--lib/Target/AMDGPU/GCNRegBankReassign.cpp14
-rw-r--r--lib/Target/AMDGPU/GCNRegPressure.cpp26
-rw-r--r--lib/Target/AMDGPU/GCNRegPressure.h2
-rw-r--r--lib/Target/AMDGPU/GCNSchedStrategy.cpp31
-rw-r--r--lib/Target/AMDGPU/GCNSchedStrategy.h3
-rw-r--r--lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp2
-rw-r--r--lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp2
-rw-r--r--lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp37
-rw-r--r--lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h6
-rw-r--r--lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp4
-rw-r--r--lib/Target/AMDGPU/MIMGInstructions.td4
-rw-r--r--lib/Target/AMDGPU/R600AsmPrinter.cpp2
-rw-r--r--lib/Target/AMDGPU/R600ControlFlowFinalizer.cpp4
-rw-r--r--lib/Target/AMDGPU/R600ExpandSpecialInstrs.cpp22
-rw-r--r--lib/Target/AMDGPU/R600FrameLowering.h6
-rw-r--r--lib/Target/AMDGPU/R600ISelLowering.cpp7
-rw-r--r--lib/Target/AMDGPU/R600InstrInfo.cpp22
-rw-r--r--lib/Target/AMDGPU/R600MachineScheduler.cpp8
-rw-r--r--lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp12
-rw-r--r--lib/Target/AMDGPU/R600Packetizer.cpp4
-rw-r--r--lib/Target/AMDGPU/R600RegisterInfo.cpp2
-rw-r--r--lib/Target/AMDGPU/SIAddIMGInit.cpp4
-rw-r--r--lib/Target/AMDGPU/SIDefines.h6
-rw-r--r--lib/Target/AMDGPU/SIFixSGPRCopies.cpp394
-rw-r--r--lib/Target/AMDGPU/SIFixupVectorISel.cpp3
-rw-r--r--lib/Target/AMDGPU/SIFoldOperands.cpp114
-rw-r--r--lib/Target/AMDGPU/SIFormMemoryClauses.cpp22
-rw-r--r--lib/Target/AMDGPU/SIFrameLowering.cpp34
-rw-r--r--lib/Target/AMDGPU/SIFrameLowering.h6
-rw-r--r--lib/Target/AMDGPU/SIISelLowering.cpp1052
-rw-r--r--lib/Target/AMDGPU/SIISelLowering.h54
-rw-r--r--lib/Target/AMDGPU/SIInsertWaitcnts.cpp6
-rw-r--r--lib/Target/AMDGPU/SIInstrFormats.td5
-rw-r--r--lib/Target/AMDGPU/SIInstrInfo.cpp558
-rw-r--r--lib/Target/AMDGPU/SIInstrInfo.h44
-rw-r--r--lib/Target/AMDGPU/SIInstrInfo.td320
-rw-r--r--lib/Target/AMDGPU/SIInstructions.td297
-rw-r--r--lib/Target/AMDGPU/SILoadStoreOptimizer.cpp1117
-rw-r--r--lib/Target/AMDGPU/SILowerControlFlow.cpp60
-rw-r--r--lib/Target/AMDGPU/SILowerI1Copies.cpp49
-rw-r--r--lib/Target/AMDGPU/SILowerSGPRSpills.cpp4
-rw-r--r--lib/Target/AMDGPU/SIMachineFunctionInfo.cpp9
-rw-r--r--lib/Target/AMDGPU/SIMachineFunctionInfo.h11
-rw-r--r--lib/Target/AMDGPU/SIMachineScheduler.cpp16
-rw-r--r--lib/Target/AMDGPU/SIMemoryLegalizer.cpp6
-rw-r--r--lib/Target/AMDGPU/SIModeRegister.cpp2
-rw-r--r--lib/Target/AMDGPU/SIOptimizeExecMasking.cpp2
-rw-r--r--lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp32
-rw-r--r--lib/Target/AMDGPU/SIPeepholeSDWA.cpp32
-rw-r--r--lib/Target/AMDGPU/SIPreAllocateWWMRegs.cpp12
-rw-r--r--lib/Target/AMDGPU/SIProgramInfo.h5
-rw-r--r--lib/Target/AMDGPU/SIRegisterInfo.cpp445
-rw-r--r--lib/Target/AMDGPU/SIRegisterInfo.h15
-rw-r--r--lib/Target/AMDGPU/SIRegisterInfo.td464
-rw-r--r--lib/Target/AMDGPU/SIShrinkInstructions.cpp42
-rw-r--r--lib/Target/AMDGPU/SIWholeQuadMode.cpp35
-rw-r--r--lib/Target/AMDGPU/SMInstructions.td15
-rw-r--r--lib/Target/AMDGPU/SOPInstructions.td42
-rw-r--r--lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp71
-rw-r--r--lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h24
-rw-r--r--lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp2
-rw-r--r--lib/Target/AMDGPU/VOP1Instructions.td65
-rw-r--r--lib/Target/AMDGPU/VOP2Instructions.td346
-rw-r--r--lib/Target/AMDGPU/VOP3Instructions.td69
-rw-r--r--lib/Target/AMDGPU/VOP3PInstructions.td2
-rw-r--r--lib/Target/AMDGPU/VOPCInstructions.td30
-rw-r--r--lib/Target/AMDGPU/VOPInstructions.td12
-rw-r--r--lib/Target/ARC/ARCFrameLowering.h4
-rw-r--r--lib/Target/ARC/ARCISelLowering.cpp2
-rw-r--r--lib/Target/ARC/ARCMachineFunctionInfo.h4
-rw-r--r--lib/Target/ARC/ARCOptAddrMode.cpp16
-rw-r--r--lib/Target/ARC/ARCRegisterInfo.cpp2
-rw-r--r--lib/Target/ARC/ARCTargetMachine.cpp2
-rw-r--r--lib/Target/ARM/A15SDOptimizer.cpp54
-rw-r--r--lib/Target/ARM/ARM.h2
-rw-r--r--lib/Target/ARM/ARM.td42
-rw-r--r--lib/Target/ARM/ARMAsmPrinter.cpp66
-rw-r--r--lib/Target/ARM/ARMBaseInstrInfo.cpp216
-rw-r--r--lib/Target/ARM/ARMBaseInstrInfo.h21
-rw-r--r--lib/Target/ARM/ARMBaseRegisterInfo.cpp49
-rw-r--r--lib/Target/ARM/ARMBaseRegisterInfo.h5
-rw-r--r--lib/Target/ARM/ARMBasicBlockInfo.cpp16
-rw-r--r--lib/Target/ARM/ARMBasicBlockInfo.h31
-rw-r--r--lib/Target/ARM/ARMCallLowering.cpp54
-rw-r--r--lib/Target/ARM/ARMCallLowering.h5
-rw-r--r--lib/Target/ARM/ARMCallingConv.cpp2
-rw-r--r--lib/Target/ARM/ARMCodeGenPrepare.cpp88
-rw-r--r--lib/Target/ARM/ARMConstantIslandPass.cpp289
-rw-r--r--lib/Target/ARM/ARMConstantPoolValue.cpp1
-rw-r--r--lib/Target/ARM/ARMExpandPseudoInsts.cpp96
-rw-r--r--lib/Target/ARM/ARMFastISel.cpp88
-rw-r--r--lib/Target/ARM/ARMFrameLowering.cpp65
-rw-r--r--lib/Target/ARM/ARMFrameLowering.h5
-rw-r--r--lib/Target/ARM/ARMISelDAGToDAG.cpp224
-rw-r--r--lib/Target/ARM/ARMISelLowering.cpp2073
-rw-r--r--lib/Target/ARM/ARMISelLowering.h45
-rw-r--r--lib/Target/ARM/ARMInstrFormats.td23
-rw-r--r--lib/Target/ARM/ARMInstrInfo.cpp2
-rw-r--r--lib/Target/ARM/ARMInstrInfo.td127
-rw-r--r--lib/Target/ARM/ARMInstrMVE.td1430
-rw-r--r--lib/Target/ARM/ARMInstrNEON.td191
-rw-r--r--lib/Target/ARM/ARMInstrThumb.td16
-rw-r--r--lib/Target/ARM/ARMInstrThumb2.td98
-rw-r--r--lib/Target/ARM/ARMInstrVFP.td96
-rw-r--r--lib/Target/ARM/ARMInstructionSelector.cpp41
-rw-r--r--lib/Target/ARM/ARMLegalizerInfo.cpp2
-rw-r--r--lib/Target/ARM/ARMLoadStoreOptimizer.cpp32
-rw-r--r--lib/Target/ARM/ARMLowOverheadLoops.cpp364
-rw-r--r--lib/Target/ARM/ARMMCInstLower.cpp4
-rw-r--r--lib/Target/ARM/ARMMachineFunctionInfo.h8
-rw-r--r--lib/Target/ARM/ARMParallelDSP.cpp675
-rw-r--r--lib/Target/ARM/ARMPredicates.td2
-rw-r--r--lib/Target/ARM/ARMRegisterInfo.td18
-rw-r--r--lib/Target/ARM/ARMScheduleA9.td4
-rw-r--r--lib/Target/ARM/ARMScheduleM4.td24
-rw-r--r--lib/Target/ARM/ARMSubtarget.cpp14
-rw-r--r--lib/Target/ARM/ARMSubtarget.h30
-rw-r--r--lib/Target/ARM/ARMTargetMachine.cpp13
-rw-r--r--lib/Target/ARM/ARMTargetTransformInfo.cpp370
-rw-r--r--lib/Target/ARM/ARMTargetTransformInfo.h24
-rw-r--r--lib/Target/ARM/AsmParser/ARMAsmParser.cpp251
-rw-r--r--lib/Target/ARM/Disassembler/ARMDisassembler.cpp31
-rw-r--r--lib/Target/ARM/MCTargetDesc/ARMAddressingModes.h20
-rw-r--r--lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp14
-rw-r--r--lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h3
-rw-r--r--lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp6
-rw-r--r--lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp12
-rw-r--r--lib/Target/ARM/MCTargetDesc/ARMInstPrinter.h5
-rw-r--r--lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp21
-rw-r--r--lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp6
-rw-r--r--lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp4
-rw-r--r--lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp2
-rw-r--r--lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp10
-rw-r--r--lib/Target/ARM/MLxExpansionPass.cpp42
-rw-r--r--lib/Target/ARM/MVETailPredication.cpp519
-rw-r--r--lib/Target/ARM/MVEVPTBlockPass.cpp278
-rw-r--r--lib/Target/ARM/Thumb1FrameLowering.cpp8
-rw-r--r--lib/Target/ARM/Thumb1InstrInfo.cpp17
-rw-r--r--lib/Target/ARM/Thumb2ITBlockPass.cpp134
-rw-r--r--lib/Target/ARM/Thumb2InstrInfo.cpp38
-rw-r--r--lib/Target/ARM/Thumb2SizeReduction.cpp28
-rw-r--r--lib/Target/ARM/ThumbRegisterInfo.cpp11
-rw-r--r--lib/Target/AVR/AVRAsmPrinter.cpp2
-rw-r--r--lib/Target/AVR/AVRExpandPseudoInsts.cpp12
-rw-r--r--lib/Target/AVR/AVRFrameLowering.cpp5
-rw-r--r--lib/Target/AVR/AVRISelDAGToDAG.cpp2
-rw-r--r--lib/Target/AVR/AVRISelLowering.cpp27
-rw-r--r--lib/Target/AVR/AVRISelLowering.h4
-rw-r--r--lib/Target/AVR/AVRRegisterInfo.cpp2
-rw-r--r--lib/Target/AVR/AVRTargetMachine.cpp2
-rw-r--r--lib/Target/AVR/AsmParser/AVRAsmParser.cpp8
-rw-r--r--lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.cpp2
-rw-r--r--lib/Target/BPF/AsmParser/BPFAsmParser.cpp6
-rw-r--r--lib/Target/BPF/BPF.h4
-rw-r--r--lib/Target/BPF/BPFAbstractMemberAccess.cpp708
-rw-r--r--lib/Target/BPF/BPFAsmPrinter.cpp2
-rw-r--r--lib/Target/BPF/BPFCORE.h14
-rw-r--r--lib/Target/BPF/BPFFrameLowering.h2
-rw-r--r--lib/Target/BPF/BPFISelDAGToDAG.cpp170
-rw-r--r--lib/Target/BPF/BPFISelLowering.cpp21
-rw-r--r--lib/Target/BPF/BPFInstrInfo.cpp6
-rw-r--r--lib/Target/BPF/BPFInstrInfo.td2
-rw-r--r--lib/Target/BPF/BPFMIChecking.cpp1
-rw-r--r--lib/Target/BPF/BPFMIPeephole.cpp206
-rw-r--r--lib/Target/BPF/BPFMISimplifyPatchable.cpp27
-rw-r--r--lib/Target/BPF/BPFRegisterInfo.cpp6
-rw-r--r--lib/Target/BPF/BPFTargetMachine.cpp16
-rw-r--r--lib/Target/BPF/BTF.h54
-rw-r--r--lib/Target/BPF/BTFDebug.cpp281
-rw-r--r--lib/Target/BPF/BTFDebug.h29
-rw-r--r--lib/Target/BPF/MCTargetDesc/BPFELFObjectWriter.cpp4
-rw-r--r--lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp2
-rw-r--r--lib/Target/Hexagon/BitTracker.cpp21
-rw-r--r--lib/Target/Hexagon/HexagonAsmPrinter.cpp2
-rw-r--r--lib/Target/Hexagon/HexagonBitSimplify.cpp71
-rw-r--r--lib/Target/Hexagon/HexagonBitTracker.cpp8
-rw-r--r--lib/Target/Hexagon/HexagonBlockRanges.cpp14
-rw-r--r--lib/Target/Hexagon/HexagonBranchRelaxation.cpp5
-rw-r--r--lib/Target/Hexagon/HexagonConstExtenders.cpp17
-rw-r--r--lib/Target/Hexagon/HexagonConstPropagation.cpp32
-rw-r--r--lib/Target/Hexagon/HexagonCopyToCombine.cpp32
-rw-r--r--lib/Target/Hexagon/HexagonDepMapAsm2Intrin.td696
-rw-r--r--lib/Target/Hexagon/HexagonDepOperands.td83
-rw-r--r--lib/Target/Hexagon/HexagonEarlyIfConv.cpp24
-rw-r--r--lib/Target/Hexagon/HexagonExpandCondsets.cpp30
-rw-r--r--lib/Target/Hexagon/HexagonFixupHwLoops.cpp5
-rw-r--r--lib/Target/Hexagon/HexagonFrameLowering.cpp58
-rw-r--r--lib/Target/Hexagon/HexagonFrameLowering.h2
-rw-r--r--lib/Target/Hexagon/HexagonGenExtract.cpp2
-rw-r--r--lib/Target/Hexagon/HexagonGenInsert.cpp27
-rw-r--r--lib/Target/Hexagon/HexagonGenMux.cpp6
-rw-r--r--lib/Target/Hexagon/HexagonGenPredicate.cpp14
-rw-r--r--lib/Target/Hexagon/HexagonHardwareLoops.cpp56
-rw-r--r--lib/Target/Hexagon/HexagonISelDAGToDAG.cpp2
-rw-r--r--lib/Target/Hexagon/HexagonISelLowering.cpp156
-rw-r--r--lib/Target/Hexagon/HexagonISelLowering.h15
-rw-r--r--lib/Target/Hexagon/HexagonISelLoweringHVX.cpp24
-rw-r--r--lib/Target/Hexagon/HexagonInstrInfo.cpp273
-rw-r--r--lib/Target/Hexagon/HexagonInstrInfo.h22
-rw-r--r--lib/Target/Hexagon/HexagonIntrinsics.td46
-rw-r--r--lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp15
-rw-r--r--lib/Target/Hexagon/HexagonNewValueJump.cpp10
-rw-r--r--lib/Target/Hexagon/HexagonOptAddrMode.cpp12
-rw-r--r--lib/Target/Hexagon/HexagonPatterns.td194
-rw-r--r--lib/Target/Hexagon/HexagonPatternsHVX.td40
-rw-r--r--lib/Target/Hexagon/HexagonPeephole.cpp38
-rw-r--r--lib/Target/Hexagon/HexagonRegisterInfo.cpp6
-rw-r--r--lib/Target/Hexagon/HexagonSplitConst32AndConst64.cpp8
-rw-r--r--lib/Target/Hexagon/HexagonSplitDouble.cpp60
-rw-r--r--lib/Target/Hexagon/HexagonStoreWidening.cpp2
-rw-r--r--lib/Target/Hexagon/HexagonSubtarget.cpp19
-rw-r--r--lib/Target/Hexagon/HexagonSubtarget.h2
-rw-r--r--lib/Target/Hexagon/HexagonTargetMachine.cpp12
-rw-r--r--lib/Target/Hexagon/HexagonTargetTransformInfo.cpp2
-rw-r--r--lib/Target/Hexagon/HexagonTargetTransformInfo.h4
-rw-r--r--lib/Target/Hexagon/HexagonVExtract.cpp12
-rw-r--r--lib/Target/Hexagon/HexagonVLIWPacketizer.cpp37
-rw-r--r--lib/Target/Hexagon/HexagonVLIWPacketizer.h3
-rw-r--r--lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp6
-rw-r--r--lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp4
-rw-r--r--lib/Target/Hexagon/MCTargetDesc/HexagonMCChecker.cpp7
-rw-r--r--lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp4
-rw-r--r--lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp10
-rw-r--r--lib/Target/Hexagon/RDFCopy.cpp4
-rw-r--r--lib/Target/Hexagon/RDFDeadCode.cpp1
-rw-r--r--lib/Target/Hexagon/RDFGraph.cpp16
-rw-r--r--lib/Target/Hexagon/RDFLiveness.cpp8
-rw-r--r--lib/Target/Hexagon/RDFRegisters.cpp8
-rw-r--r--lib/Target/Hexagon/RDFRegisters.h8
-rw-r--r--lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp23
-rw-r--r--lib/Target/Lanai/LanaiAsmPrinter.cpp2
-rw-r--r--lib/Target/Lanai/LanaiDelaySlotFiller.cpp2
-rw-r--r--lib/Target/Lanai/LanaiFrameLowering.cpp4
-rw-r--r--lib/Target/Lanai/LanaiFrameLowering.h2
-rw-r--r--lib/Target/Lanai/LanaiISelLowering.cpp15
-rw-r--r--lib/Target/Lanai/LanaiISelLowering.h4
-rw-r--r--lib/Target/Lanai/LanaiInstrInfo.cpp9
-rw-r--r--lib/Target/Lanai/LanaiInstrInfo.h3
-rw-r--r--lib/Target/Lanai/LanaiRegisterInfo.cpp2
-rw-r--r--lib/Target/Lanai/MCTargetDesc/LanaiELFObjectWriter.cpp2
-rw-r--r--lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp12
-rw-r--r--lib/Target/MSP430/MCTargetDesc/MSP430ELFObjectWriter.cpp4
-rw-r--r--lib/Target/MSP430/MSP430AsmPrinter.cpp8
-rw-r--r--lib/Target/MSP430/MSP430BranchSelector.cpp1
-rw-r--r--lib/Target/MSP430/MSP430FrameLowering.h3
-rw-r--r--lib/Target/MSP430/MSP430ISelLowering.cpp27
-rw-r--r--lib/Target/MSP430/MSP430ISelLowering.h2
-rw-r--r--lib/Target/MSP430/MSP430RegisterInfo.cpp2
-rw-r--r--lib/Target/MSP430/MSP430TargetMachine.cpp2
-rw-r--r--lib/Target/Mips/AsmParser/MipsAsmParser.cpp696
-rw-r--r--lib/Target/Mips/Disassembler/MipsDisassembler.cpp16
-rw-r--r--lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp1
-rw-r--r--lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h6
-rw-r--r--lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp4
-rw-r--r--lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp7
-rw-r--r--lib/Target/Mips/MCTargetDesc/MipsMCNaCl.h5
-rw-r--r--lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp11
-rw-r--r--lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp2
-rw-r--r--lib/Target/Mips/MCTargetDesc/MipsOptionRecord.cpp4
-rw-r--r--lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp96
-rw-r--r--lib/Target/Mips/MicroMipsDSPInstrInfo.td4
-rw-r--r--lib/Target/Mips/MicroMipsInstrInfo.td9
-rw-r--r--lib/Target/Mips/MicroMipsSizeReduction.cpp18
-rw-r--r--lib/Target/Mips/Mips.td12
-rw-r--r--lib/Target/Mips/Mips16ISelDAGToDAG.cpp2
-rw-r--r--lib/Target/Mips/Mips16ISelLowering.cpp16
-rw-r--r--lib/Target/Mips/Mips16InstrInfo.cpp2
-rw-r--r--lib/Target/Mips/Mips64InstrInfo.td36
-rw-r--r--lib/Target/Mips/MipsAsmPrinter.cpp12
-rw-r--r--lib/Target/Mips/MipsCallLowering.cpp150
-rw-r--r--lib/Target/Mips/MipsCallLowering.h8
-rw-r--r--lib/Target/Mips/MipsConstantIslandPass.cpp63
-rw-r--r--lib/Target/Mips/MipsDSPInstrInfo.td19
-rw-r--r--lib/Target/Mips/MipsExpandPseudo.cpp54
-rw-r--r--lib/Target/Mips/MipsFastISel.cpp12
-rw-r--r--lib/Target/Mips/MipsFrameLowering.h5
-rw-r--r--lib/Target/Mips/MipsISelDAGToDAG.cpp53
-rw-r--r--lib/Target/Mips/MipsISelDAGToDAG.h5
-rw-r--r--lib/Target/Mips/MipsISelLowering.cpp164
-rw-r--r--lib/Target/Mips/MipsISelLowering.h13
-rw-r--r--lib/Target/Mips/MipsInstrInfo.cpp3
-rw-r--r--lib/Target/Mips/MipsInstrInfo.h2
-rw-r--r--lib/Target/Mips/MipsInstrInfo.td30
-rw-r--r--lib/Target/Mips/MipsInstructionSelector.cpp206
-rw-r--r--lib/Target/Mips/MipsLegalizerInfo.cpp244
-rw-r--r--lib/Target/Mips/MipsLegalizerInfo.h3
-rw-r--r--lib/Target/Mips/MipsMSAInstrInfo.td55
-rw-r--r--lib/Target/Mips/MipsOptimizePICCall.cpp5
-rw-r--r--lib/Target/Mips/MipsPfmCounters.td18
-rw-r--r--lib/Target/Mips/MipsPreLegalizerCombiner.cpp3
-rw-r--r--lib/Target/Mips/MipsRegisterBankInfo.cpp322
-rw-r--r--lib/Target/Mips/MipsRegisterBankInfo.h9
-rw-r--r--lib/Target/Mips/MipsRegisterBanks.td2
-rw-r--r--lib/Target/Mips/MipsSEFrameLowering.cpp55
-rw-r--r--lib/Target/Mips/MipsSEISelDAGToDAG.cpp54
-rw-r--r--lib/Target/Mips/MipsSEISelDAGToDAG.h6
-rw-r--r--lib/Target/Mips/MipsSEISelLowering.cpp124
-rw-r--r--lib/Target/Mips/MipsSEInstrInfo.cpp20
-rw-r--r--lib/Target/Mips/MipsSERegisterInfo.cpp8
-rw-r--r--lib/Target/Mips/MipsSubtarget.cpp17
-rw-r--r--lib/Target/Mips/MipsSubtarget.h15
-rw-r--r--lib/Target/Mips/MipsTargetMachine.cpp18
-rw-r--r--lib/Target/Mips/MipsTargetStreamer.h14
-rw-r--r--lib/Target/NVPTX/NVPTX.h2
-rw-r--r--lib/Target/NVPTX/NVPTXAsmPrinter.cpp34
-rw-r--r--lib/Target/NVPTX/NVPTXAsmPrinter.h2
-rw-r--r--lib/Target/NVPTX/NVPTXFrameLowering.cpp2
-rw-r--r--lib/Target/NVPTX/NVPTXISelLowering.cpp58
-rw-r--r--lib/Target/NVPTX/NVPTXInstrInfo.td13
-rw-r--r--lib/Target/NVPTX/NVPTXIntrinsics.td169
-rw-r--r--lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp2
-rw-r--r--lib/Target/NVPTX/NVPTXLowerAlloca.cpp97
-rw-r--r--lib/Target/NVPTX/NVPTXLowerArgs.cpp2
-rw-r--r--lib/Target/NVPTX/NVPTXPeephole.cpp2
-rw-r--r--lib/Target/NVPTX/NVPTXPrologEpilogPass.cpp2
-rw-r--r--lib/Target/NVPTX/NVPTXTargetMachine.cpp2
-rw-r--r--lib/Target/NVPTX/NVPTXUtilities.cpp13
-rw-r--r--lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp10
-rw-r--r--lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp6
-rw-r--r--lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp6
-rw-r--r--lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp25
-rw-r--r--lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp1
-rw-r--r--lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp4
-rw-r--r--lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h14
-rw-r--r--lib/Target/PowerPC/MCTargetDesc/PPCMachObjectWriter.cpp4
-rw-r--r--lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp2
-rw-r--r--lib/Target/PowerPC/P9InstrResources.td8
-rw-r--r--lib/Target/PowerPC/PPC.h8
-rw-r--r--lib/Target/PowerPC/PPCAsmPrinter.cpp482
-rw-r--r--lib/Target/PowerPC/PPCBranchCoalescing.cpp13
-rw-r--r--lib/Target/PowerPC/PPCBranchSelector.cpp29
-rw-r--r--lib/Target/PowerPC/PPCFastISel.cpp41
-rw-r--r--lib/Target/PowerPC/PPCFrameLowering.cpp71
-rw-r--r--lib/Target/PowerPC/PPCFrameLowering.h11
-rw-r--r--lib/Target/PowerPC/PPCISelDAGToDAG.cpp105
-rw-r--r--lib/Target/PowerPC/PPCISelLowering.cpp546
-rw-r--r--lib/Target/PowerPC/PPCISelLowering.h49
-rw-r--r--lib/Target/PowerPC/PPCInstr64Bit.td4
-rw-r--r--lib/Target/PowerPC/PPCInstrAltivec.td12
-rw-r--r--lib/Target/PowerPC/PPCInstrFormats.td9
-rw-r--r--lib/Target/PowerPC/PPCInstrInfo.cpp336
-rw-r--r--lib/Target/PowerPC/PPCInstrInfo.h42
-rw-r--r--lib/Target/PowerPC/PPCInstrInfo.td206
-rw-r--r--lib/Target/PowerPC/PPCInstrVSX.td180
-rw-r--r--lib/Target/PowerPC/PPCLoopPreIncPrep.cpp670
-rw-r--r--lib/Target/PowerPC/PPCMCInstLower.cpp23
-rw-r--r--lib/Target/PowerPC/PPCMIPeephole.cpp82
-rw-r--r--lib/Target/PowerPC/PPCPreEmitPeephole.cpp106
-rw-r--r--lib/Target/PowerPC/PPCQPXLoadSplat.cpp6
-rw-r--r--lib/Target/PowerPC/PPCReduceCRLogicals.cpp15
-rw-r--r--lib/Target/PowerPC/PPCRegisterInfo.cpp39
-rw-r--r--lib/Target/PowerPC/PPCRegisterInfo.td22
-rw-r--r--lib/Target/PowerPC/PPCSubtarget.cpp18
-rw-r--r--lib/Target/PowerPC/PPCSubtarget.h24
-rw-r--r--lib/Target/PowerPC/PPCTLSDynamicCall.cpp4
-rw-r--r--lib/Target/PowerPC/PPCTOCRegDeps.cpp9
-rw-r--r--lib/Target/PowerPC/PPCTargetMachine.cpp38
-rw-r--r--lib/Target/PowerPC/PPCTargetTransformInfo.cpp68
-rw-r--r--lib/Target/PowerPC/PPCTargetTransformInfo.h12
-rw-r--r--lib/Target/PowerPC/PPCVSXCopy.cpp6
-rw-r--r--lib/Target/PowerPC/PPCVSXFMAMutate.cpp18
-rw-r--r--lib/Target/PowerPC/PPCVSXSwapRemoval.cpp32
-rw-r--r--lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp282
-rw-r--r--lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp139
-rw-r--r--lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp17
-rw-r--r--lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp13
-rw-r--r--lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp41
-rw-r--r--lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h8
-rw-r--r--lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp20
-rw-r--r--lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.h3
-rw-r--r--lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp4
-rw-r--r--lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h1
-rw-r--r--lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp4
-rw-r--r--lib/Target/RISCV/RISCV.h7
-rw-r--r--lib/Target/RISCV/RISCV.td11
-rw-r--r--lib/Target/RISCV/RISCVCallLowering.cpp50
-rw-r--r--lib/Target/RISCV/RISCVCallLowering.h42
-rw-r--r--lib/Target/RISCV/RISCVCallingConv.td28
-rw-r--r--lib/Target/RISCV/RISCVExpandPseudoInsts.cpp54
-rw-r--r--lib/Target/RISCV/RISCVFrameLowering.cpp164
-rw-r--r--lib/Target/RISCV/RISCVFrameLowering.h9
-rw-r--r--lib/Target/RISCV/RISCVISelDAGToDAG.cpp5
-rw-r--r--lib/Target/RISCV/RISCVISelLowering.cpp323
-rw-r--r--lib/Target/RISCV/RISCVISelLowering.h6
-rw-r--r--lib/Target/RISCV/RISCVInstrInfo.cpp118
-rw-r--r--lib/Target/RISCV/RISCVInstrInfo.h18
-rw-r--r--lib/Target/RISCV/RISCVInstrInfo.td22
-rw-r--r--lib/Target/RISCV/RISCVInstrInfoA.td34
-rw-r--r--lib/Target/RISCV/RISCVInstrInfoC.td124
-rw-r--r--lib/Target/RISCV/RISCVInstrInfoF.td6
-rw-r--r--lib/Target/RISCV/RISCVInstructionSelector.cpp103
-rw-r--r--lib/Target/RISCV/RISCVLegalizerInfo.cpp23
-rw-r--r--lib/Target/RISCV/RISCVLegalizerInfo.h28
-rw-r--r--lib/Target/RISCV/RISCVMergeBaseOffset.cpp16
-rw-r--r--lib/Target/RISCV/RISCVRegisterBankInfo.cpp26
-rw-r--r--lib/Target/RISCV/RISCVRegisterBankInfo.h37
-rw-r--r--lib/Target/RISCV/RISCVRegisterBanks.td13
-rw-r--r--lib/Target/RISCV/RISCVRegisterInfo.cpp13
-rw-r--r--lib/Target/RISCV/RISCVRegisterInfo.h6
-rw-r--r--lib/Target/RISCV/RISCVRegisterInfo.td100
-rw-r--r--lib/Target/RISCV/RISCVSubtarget.cpp30
-rw-r--r--lib/Target/RISCV/RISCVSubtarget.h20
-rw-r--r--lib/Target/RISCV/RISCVTargetMachine.cpp31
-rw-r--r--lib/Target/RISCV/Utils/RISCVBaseInfo.h16
-rw-r--r--lib/Target/Sparc/AsmParser/SparcAsmParser.cpp8
-rw-r--r--lib/Target/Sparc/DelaySlotFiller.cpp10
-rw-r--r--lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp6
-rw-r--r--lib/Target/Sparc/SparcFrameLowering.cpp3
-rw-r--r--lib/Target/Sparc/SparcISelDAGToDAG.cpp4
-rw-r--r--lib/Target/Sparc/SparcISelLowering.cpp28
-rw-r--r--lib/Target/Sparc/SparcISelLowering.h4
-rw-r--r--lib/Target/Sparc/SparcInstr64Bit.td2
-rw-r--r--lib/Target/Sparc/SparcInstrInfo.cpp4
-rw-r--r--lib/Target/Sparc/SparcInstrInfo.td8
-rw-r--r--lib/Target/Sparc/SparcRegisterInfo.cpp12
-rw-r--r--lib/Target/Sparc/SparcTargetMachine.cpp4
-rw-r--r--lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp12
-rw-r--r--lib/Target/SystemZ/MCTargetDesc/SystemZMCObjectWriter.cpp2
-rw-r--r--lib/Target/SystemZ/SystemZ.h1
-rw-r--r--lib/Target/SystemZ/SystemZAsmPrinter.cpp20
-rw-r--r--lib/Target/SystemZ/SystemZAsmPrinter.h1
-rw-r--r--lib/Target/SystemZ/SystemZElimCompare.cpp9
-rw-r--r--lib/Target/SystemZ/SystemZExpandPseudo.cpp152
-rw-r--r--lib/Target/SystemZ/SystemZFrameLowering.cpp6
-rw-r--r--lib/Target/SystemZ/SystemZISelDAGToDAG.cpp11
-rw-r--r--lib/Target/SystemZ/SystemZISelLowering.cpp244
-rw-r--r--lib/Target/SystemZ/SystemZInstrFP.td32
-rw-r--r--lib/Target/SystemZ/SystemZInstrFormats.td166
-rw-r--r--lib/Target/SystemZ/SystemZInstrInfo.cpp168
-rw-r--r--lib/Target/SystemZ/SystemZInstrInfo.h29
-rw-r--r--lib/Target/SystemZ/SystemZInstrInfo.td22
-rw-r--r--lib/Target/SystemZ/SystemZInstrVector.td26
-rw-r--r--lib/Target/SystemZ/SystemZLongBranch.cpp26
-rw-r--r--lib/Target/SystemZ/SystemZMachineScheduler.cpp5
-rw-r--r--lib/Target/SystemZ/SystemZOperands.td121
-rw-r--r--lib/Target/SystemZ/SystemZOperators.td6
-rw-r--r--lib/Target/SystemZ/SystemZPatterns.td4
-rw-r--r--lib/Target/SystemZ/SystemZPostRewrite.cpp164
-rw-r--r--lib/Target/SystemZ/SystemZProcessors.td3
-rw-r--r--lib/Target/SystemZ/SystemZRegisterInfo.cpp19
-rw-r--r--lib/Target/SystemZ/SystemZRegisterInfo.h9
-rw-r--r--lib/Target/SystemZ/SystemZSchedule.td2
-rw-r--r--lib/Target/SystemZ/SystemZScheduleZ15.td (renamed from lib/Target/SystemZ/SystemZScheduleArch13.td)64
-rw-r--r--lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp8
-rw-r--r--lib/Target/SystemZ/SystemZShortenInst.cpp4
-rw-r--r--lib/Target/SystemZ/SystemZTargetMachine.cpp11
-rw-r--r--lib/Target/SystemZ/SystemZTargetTransformInfo.cpp5
-rw-r--r--lib/Target/SystemZ/SystemZTargetTransformInfo.h8
-rw-r--r--lib/Target/TargetLoweringObjectFile.cpp1
-rw-r--r--lib/Target/TargetMachine.cpp20
-rw-r--r--lib/Target/TargetMachineC.cpp2
-rw-r--r--lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp100
-rw-r--r--lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp24
-rw-r--r--lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp10
-rw-r--r--lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp57
-rw-r--r--lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.h3
-rw-r--r--lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp1
-rw-r--r--lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h74
-rw-r--r--lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp33
-rw-r--r--lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h3
-rw-r--r--lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp11
-rw-r--r--lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp38
-rw-r--r--lib/Target/WebAssembly/WebAssemblyCFGSort.cpp5
-rw-r--r--lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp127
-rw-r--r--lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp22
-rw-r--r--lib/Target/WebAssembly/WebAssemblyFastISel.cpp36
-rw-r--r--lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp2
-rw-r--r--lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp3
-rw-r--r--lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp8
-rw-r--r--lib/Target/WebAssembly/WebAssemblyFrameLowering.h4
-rw-r--r--lib/Target/WebAssembly/WebAssemblyISD.def2
-rw-r--r--lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp131
-rw-r--r--lib/Target/WebAssembly/WebAssemblyISelLowering.cpp306
-rw-r--r--lib/Target/WebAssembly/WebAssemblyISelLowering.h2
-rw-r--r--lib/Target/WebAssembly/WebAssemblyInstrAtomics.td100
-rw-r--r--lib/Target/WebAssembly/WebAssemblyInstrBulkMemory.td4
-rw-r--r--lib/Target/WebAssembly/WebAssemblyInstrControl.td48
-rw-r--r--lib/Target/WebAssembly/WebAssemblyInstrConv.td17
-rw-r--r--lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp4
-rw-r--r--lib/Target/WebAssembly/WebAssemblyInstrInfo.h2
-rw-r--r--lib/Target/WebAssembly/WebAssemblyInstrInfo.td3
-rw-r--r--lib/Target/WebAssembly/WebAssemblyInstrMemory.td51
-rw-r--r--lib/Target/WebAssembly/WebAssemblyInstrSIMD.td221
-rw-r--r--lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp12
-rw-r--r--lib/Target/WebAssembly/WebAssemblyLowerBrUnless.cpp4
-rw-r--r--lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp119
-rw-r--r--lib/Target/WebAssembly/WebAssemblyLowerGlobalDtors.cpp2
-rw-r--r--lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp55
-rw-r--r--lib/Target/WebAssembly/WebAssemblyMCInstLower.h3
-rw-r--r--lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp12
-rw-r--r--lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h13
-rw-r--r--lib/Target/WebAssembly/WebAssemblyMemIntrinsicResults.cpp7
-rw-r--r--lib/Target/WebAssembly/WebAssemblyOptimizeLiveIntervals.cpp2
-rw-r--r--lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp7
-rw-r--r--lib/Target/WebAssembly/WebAssemblyPeephole.cpp107
-rw-r--r--lib/Target/WebAssembly/WebAssemblyPrepareForLiveIntervals.cpp2
-rw-r--r--lib/Target/WebAssembly/WebAssemblyRegColoring.cpp7
-rw-r--r--lib/Target/WebAssembly/WebAssemblyRegNumbering.cpp2
-rw-r--r--lib/Target/WebAssembly/WebAssemblyRegStackify.cpp24
-rw-r--r--lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp6
-rw-r--r--lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp2
-rw-r--r--lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp5
-rw-r--r--lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h2
-rw-r--r--lib/Target/WebAssembly/WebAssemblyUtilities.cpp21
-rw-r--r--lib/Target/X86/AsmParser/X86AsmParser.cpp170
-rw-r--r--lib/Target/X86/AsmParser/X86AsmParserCommon.h4
-rw-r--r--lib/Target/X86/AsmParser/X86Operand.h25
-rw-r--r--lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp5
-rw-r--r--lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp6
-rw-r--r--lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp19
-rw-r--r--lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp2
-rw-r--r--lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp3
-rw-r--r--lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp61
-rw-r--r--lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h11
-rw-r--r--lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp7
-rw-r--r--lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp2
-rw-r--r--lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp5
-rw-r--r--lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp2
-rw-r--r--lib/Target/X86/X86.h10
-rw-r--r--lib/Target/X86/X86.td56
-rw-r--r--lib/Target/X86/X86AsmPrinter.cpp8
-rw-r--r--lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp3
-rw-r--r--lib/Target/X86/X86AvoidTrailingCall.cpp108
-rw-r--r--lib/Target/X86/X86CallFrameOptimization.cpp26
-rw-r--r--lib/Target/X86/X86CallLowering.cpp49
-rw-r--r--lib/Target/X86/X86CallLowering.h5
-rw-r--r--lib/Target/X86/X86CallingConv.td2
-rw-r--r--lib/Target/X86/X86CmovConversion.cpp18
-rw-r--r--lib/Target/X86/X86CondBrFolding.cpp2
-rw-r--r--lib/Target/X86/X86DomainReassignment.cpp20
-rwxr-xr-xlib/Target/X86/X86EvexToVex.cpp2
-rw-r--r--lib/Target/X86/X86ExpandPseudo.cpp11
-rw-r--r--lib/Target/X86/X86FastISel.cpp15
-rw-r--r--lib/Target/X86/X86FixupBWInsts.cpp68
-rw-r--r--lib/Target/X86/X86FixupLEAs.cpp201
-rw-r--r--lib/Target/X86/X86FixupSetCC.cpp4
-rw-r--r--lib/Target/X86/X86FlagsCopyLowering.cpp13
-rw-r--r--lib/Target/X86/X86FloatingPoint.cpp6
-rw-r--r--lib/Target/X86/X86FrameLowering.cpp106
-rw-r--r--lib/Target/X86/X86FrameLowering.h4
-rw-r--r--lib/Target/X86/X86ISelDAGToDAG.cpp304
-rw-r--r--lib/Target/X86/X86ISelLowering.cpp5926
-rw-r--r--lib/Target/X86/X86ISelLowering.h77
-rw-r--r--lib/Target/X86/X86IndirectBranchTracking.cpp2
-rw-r--r--lib/Target/X86/X86InsertPrefetch.cpp8
-rw-r--r--lib/Target/X86/X86InstrAVX512.td1457
-rw-r--r--lib/Target/X86/X86InstrArithmetic.td10
-rw-r--r--lib/Target/X86/X86InstrBuilder.h6
-rw-r--r--lib/Target/X86/X86InstrCMovSetCC.td33
-rw-r--r--lib/Target/X86/X86InstrCompiler.td139
-rw-r--r--lib/Target/X86/X86InstrControl.td85
-rw-r--r--lib/Target/X86/X86InstrExtension.td11
-rw-r--r--lib/Target/X86/X86InstrFoldTables.cpp287
-rw-r--r--lib/Target/X86/X86InstrFoldTables.h39
-rw-r--r--lib/Target/X86/X86InstrFragmentsSIMD.td26
-rw-r--r--lib/Target/X86/X86InstrInfo.cpp582
-rw-r--r--lib/Target/X86/X86InstrInfo.h28
-rw-r--r--lib/Target/X86/X86InstrInfo.td57
-rw-r--r--lib/Target/X86/X86InstrMMX.td33
-rw-r--r--lib/Target/X86/X86InstrMPX.td32
-rw-r--r--lib/Target/X86/X86InstrSSE.td551
-rw-r--r--lib/Target/X86/X86InstrSystem.td2
-rw-r--r--lib/Target/X86/X86InstrTSX.td2
-rw-r--r--lib/Target/X86/X86InstrXOP.td26
-rw-r--r--lib/Target/X86/X86InstructionSelector.cpp135
-rw-r--r--lib/Target/X86/X86IntrinsicsInfo.h6
-rw-r--r--lib/Target/X86/X86LegalizerInfo.cpp20
-rw-r--r--lib/Target/X86/X86LegalizerInfo.h3
-rw-r--r--lib/Target/X86/X86MCInstLower.cpp313
-rw-r--r--lib/Target/X86/X86MachineFunctionInfo.h8
-rw-r--r--lib/Target/X86/X86OptimizeLEAs.cpp60
-rw-r--r--lib/Target/X86/X86RegisterBankInfo.cpp4
-rw-r--r--lib/Target/X86/X86RegisterInfo.cpp31
-rw-r--r--lib/Target/X86/X86RetpolineThunks.cpp8
-rwxr-xr-xlib/Target/X86/X86SchedBroadwell.td8
-rw-r--r--lib/Target/X86/X86SchedHaswell.td8
-rw-r--r--lib/Target/X86/X86SchedPredicates.td57
-rw-r--r--lib/Target/X86/X86SchedSandyBridge.td8
-rw-r--r--lib/Target/X86/X86SchedSkylakeClient.td8
-rwxr-xr-xlib/Target/X86/X86SchedSkylakeServer.td8
-rw-r--r--lib/Target/X86/X86Schedule.td24
-rw-r--r--lib/Target/X86/X86ScheduleAtom.td6
-rw-r--r--lib/Target/X86/X86ScheduleBdVer2.td6
-rw-r--r--lib/Target/X86/X86ScheduleBtVer2.td257
-rw-r--r--lib/Target/X86/X86ScheduleSLM.td8
-rw-r--r--lib/Target/X86/X86ScheduleZnver1.td8
-rw-r--r--lib/Target/X86/X86SelectionDAGInfo.cpp2
-rw-r--r--lib/Target/X86/X86SpeculativeLoadHardening.cpp59
-rw-r--r--lib/Target/X86/X86Subtarget.cpp18
-rw-r--r--lib/Target/X86/X86Subtarget.h23
-rw-r--r--lib/Target/X86/X86TargetMachine.cpp49
-rw-r--r--lib/Target/X86/X86TargetMachine.h2
-rw-r--r--lib/Target/X86/X86TargetObjectFile.cpp4
-rw-r--r--lib/Target/X86/X86TargetObjectFile.h3
-rw-r--r--lib/Target/X86/X86TargetTransformInfo.cpp225
-rw-r--r--lib/Target/X86/X86TargetTransformInfo.h11
-rw-r--r--lib/Target/X86/X86VZeroUpper.cpp6
-rw-r--r--lib/Target/X86/X86WinAllocaExpander.cpp4
-rw-r--r--lib/Target/X86/X86WinEHState.cpp5
-rw-r--r--lib/Target/XCore/XCoreAsmPrinter.cpp4
-rw-r--r--lib/Target/XCore/XCoreFrameLowering.cpp6
-rw-r--r--lib/Target/XCore/XCoreFrameToArgsOffsetElim.cpp2
-rw-r--r--lib/Target/XCore/XCoreISelLowering.cpp21
-rw-r--r--lib/Target/XCore/XCoreRegisterInfo.cpp2
-rw-r--r--lib/Target/XCore/XCoreTargetMachine.cpp2
-rw-r--r--lib/Target/XCore/XCoreTargetTransformInfo.h3
-rw-r--r--lib/TextAPI/MachO/Architecture.cpp4
-rw-r--r--lib/TextAPI/MachO/InterfaceFile.cpp80
-rw-r--r--lib/TextAPI/MachO/Platform.cpp91
-rw-r--r--lib/TextAPI/MachO/Symbol.cpp9
-rw-r--r--lib/TextAPI/MachO/Target.cpp75
-rw-r--r--lib/TextAPI/MachO/TextStub.cpp606
-rw-r--r--lib/TextAPI/MachO/TextStubCommon.cpp93
-rw-r--r--lib/TextAPI/MachO/TextStubCommon.h8
-rw-r--r--lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp26
-rw-r--r--lib/ToolDrivers/llvm-lib/LibDriver.cpp236
-rw-r--r--lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp78
-rw-r--r--lib/Transforms/Coroutines/CoroCleanup.cpp7
-rw-r--r--lib/Transforms/Coroutines/CoroEarly.cpp26
-rw-r--r--lib/Transforms/Coroutines/CoroElide.cpp2
-rw-r--r--lib/Transforms/Coroutines/CoroFrame.cpp652
-rw-r--r--lib/Transforms/Coroutines/CoroInstr.h205
-rw-r--r--lib/Transforms/Coroutines/CoroInternal.h162
-rw-r--r--lib/Transforms/Coroutines/CoroSplit.cpp1166
-rw-r--r--lib/Transforms/Coroutines/Coroutines.cpp342
-rw-r--r--lib/Transforms/IPO/ArgumentPromotion.cpp2
-rw-r--r--lib/Transforms/IPO/Attributor.cpp4959
-rw-r--r--lib/Transforms/IPO/BlockExtractor.cpp5
-rw-r--r--lib/Transforms/IPO/ConstantMerge.cpp4
-rw-r--r--lib/Transforms/IPO/CrossDSOCFI.cpp10
-rw-r--r--lib/Transforms/IPO/FunctionAttrs.cpp38
-rw-r--r--lib/Transforms/IPO/FunctionImport.cpp43
-rw-r--r--lib/Transforms/IPO/GlobalDCE.cpp156
-rw-r--r--lib/Transforms/IPO/GlobalOpt.cpp176
-rw-r--r--lib/Transforms/IPO/HotColdSplitting.cpp61
-rw-r--r--lib/Transforms/IPO/IPO.cpp13
-rw-r--r--lib/Transforms/IPO/InferFunctionAttrs.cpp20
-rw-r--r--lib/Transforms/IPO/Inliner.cpp21
-rw-r--r--lib/Transforms/IPO/LoopExtractor.cpp6
-rw-r--r--lib/Transforms/IPO/LowerTypeTests.cpp305
-rw-r--r--lib/Transforms/IPO/MergeFunctions.cpp4
-rw-r--r--lib/Transforms/IPO/PartialInlining.cpp20
-rw-r--r--lib/Transforms/IPO/PassManagerBuilder.cpp1
-rw-r--r--lib/Transforms/IPO/SCCP.cpp18
-rw-r--r--lib/Transforms/IPO/SampleProfile.cpp238
-rw-r--r--lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp21
-rw-r--r--lib/Transforms/IPO/WholeProgramDevirt.cpp389
-rw-r--r--lib/Transforms/InstCombine/InstCombineAddSub.cpp268
-rw-r--r--lib/Transforms/InstCombine/InstCombineAndOrXor.cpp278
-rw-r--r--lib/Transforms/InstCombine/InstCombineAtomicRMW.cpp4
-rw-r--r--lib/Transforms/InstCombine/InstCombineCalls.cpp121
-rw-r--r--lib/Transforms/InstCombine/InstCombineCasts.cpp102
-rw-r--r--lib/Transforms/InstCombine/InstCombineCompares.cpp870
-rw-r--r--lib/Transforms/InstCombine/InstCombineInternal.h116
-rw-r--r--lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp93
-rw-r--r--lib/Transforms/InstCombine/InstCombineMulDivRem.cpp77
-rw-r--r--lib/Transforms/InstCombine/InstCombinePHI.cpp6
-rw-r--r--lib/Transforms/InstCombine/InstCombineSelect.cpp455
-rw-r--r--lib/Transforms/InstCombine/InstCombineShifts.cpp370
-rw-r--r--lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp48
-rw-r--r--lib/Transforms/InstCombine/InstCombineVectorOps.cpp171
-rw-r--r--lib/Transforms/InstCombine/InstructionCombining.cpp67
-rw-r--r--lib/Transforms/Instrumentation/AddressSanitizer.cpp98
-rw-r--r--lib/Transforms/Instrumentation/BoundsChecking.cpp2
-rw-r--r--lib/Transforms/Instrumentation/CFGMST.h4
-rw-r--r--lib/Transforms/Instrumentation/ControlHeightReduction.cpp26
-rw-r--r--lib/Transforms/Instrumentation/DataFlowSanitizer.cpp2
-rw-r--r--lib/Transforms/Instrumentation/GCOVProfiling.cpp49
-rw-r--r--lib/Transforms/Instrumentation/HWAddressSanitizer.cpp376
-rw-r--r--lib/Transforms/Instrumentation/IndirectCallPromotion.cpp2
-rw-r--r--lib/Transforms/Instrumentation/InstrOrderFile.cpp3
-rw-r--r--lib/Transforms/Instrumentation/InstrProfiling.cpp65
-rw-r--r--lib/Transforms/Instrumentation/Instrumentation.cpp5
-rw-r--r--lib/Transforms/Instrumentation/MemorySanitizer.cpp89
-rw-r--r--lib/Transforms/Instrumentation/PGOInstrumentation.cpp220
-rw-r--r--lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp6
-rw-r--r--lib/Transforms/Instrumentation/SanitizerCoverage.cpp164
-rw-r--r--lib/Transforms/Instrumentation/ThreadSanitizer.cpp54
-rw-r--r--lib/Transforms/Instrumentation/ValueProfileCollector.cpp78
-rw-r--r--lib/Transforms/Instrumentation/ValueProfileCollector.h79
-rw-r--r--lib/Transforms/Instrumentation/ValueProfilePlugins.inc75
-rw-r--r--lib/Transforms/ObjCARC/PtrState.cpp4
-rw-r--r--lib/Transforms/Scalar/AlignmentFromAssumptions.cpp8
-rw-r--r--lib/Transforms/Scalar/CallSiteSplitting.cpp2
-rw-r--r--lib/Transforms/Scalar/ConstantHoisting.cpp24
-rw-r--r--lib/Transforms/Scalar/ConstantProp.cpp2
-rw-r--r--lib/Transforms/Scalar/CorrelatedValuePropagation.cpp180
-rw-r--r--lib/Transforms/Scalar/DCE.cpp31
-rw-r--r--lib/Transforms/Scalar/DeadStoreElimination.cpp7
-rw-r--r--lib/Transforms/Scalar/DivRemPairs.cpp219
-rw-r--r--lib/Transforms/Scalar/EarlyCSE.cpp22
-rw-r--r--lib/Transforms/Scalar/FlattenCFGPass.cpp24
-rw-r--r--lib/Transforms/Scalar/Float2Int.cpp47
-rw-r--r--lib/Transforms/Scalar/GVN.cpp201
-rw-r--r--lib/Transforms/Scalar/GVNHoist.cpp17
-rw-r--r--lib/Transforms/Scalar/GuardWidening.cpp2
-rw-r--r--lib/Transforms/Scalar/IndVarSimplify.cpp389
-rw-r--r--lib/Transforms/Scalar/InferAddressSpaces.cpp38
-rw-r--r--lib/Transforms/Scalar/InstSimplifyPass.cpp48
-rw-r--r--lib/Transforms/Scalar/JumpThreading.cpp18
-rw-r--r--lib/Transforms/Scalar/LICM.cpp55
-rw-r--r--lib/Transforms/Scalar/LoopDataPrefetch.cpp4
-rw-r--r--lib/Transforms/Scalar/LoopDeletion.cpp2
-rw-r--r--lib/Transforms/Scalar/LoopFuse.cpp640
-rw-r--r--lib/Transforms/Scalar/LoopIdiomRecognize.cpp890
-rw-r--r--lib/Transforms/Scalar/LoopInstSimplify.cpp5
-rw-r--r--lib/Transforms/Scalar/LoopInterchange.cpp62
-rw-r--r--lib/Transforms/Scalar/LoopLoadElimination.cpp3
-rw-r--r--lib/Transforms/Scalar/LoopPredication.cpp2
-rw-r--r--lib/Transforms/Scalar/LoopRerollPass.cpp3
-rw-r--r--lib/Transforms/Scalar/LoopRotation.cpp10
-rw-r--r--lib/Transforms/Scalar/LoopSimplifyCFG.cpp4
-rw-r--r--lib/Transforms/Scalar/LoopSink.cpp9
-rw-r--r--lib/Transforms/Scalar/LoopStrengthReduce.cpp20
-rw-r--r--lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp8
-rw-r--r--lib/Transforms/Scalar/LoopUnrollPass.cpp128
-rw-r--r--lib/Transforms/Scalar/LoopUnswitch.cpp87
-rw-r--r--lib/Transforms/Scalar/LoopVersioningLICM.cpp31
-rw-r--r--lib/Transforms/Scalar/LowerConstantIntrinsics.cpp170
-rw-r--r--lib/Transforms/Scalar/LowerExpectIntrinsic.cpp33
-rw-r--r--lib/Transforms/Scalar/MemCpyOptimizer.cpp110
-rw-r--r--lib/Transforms/Scalar/MergeICmps.cpp2
-rw-r--r--lib/Transforms/Scalar/MergedLoadStoreMotion.cpp167
-rw-r--r--lib/Transforms/Scalar/NaryReassociate.cpp2
-rw-r--r--lib/Transforms/Scalar/NewGVN.cpp25
-rw-r--r--lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp2
-rw-r--r--lib/Transforms/Scalar/PlaceSafepoints.cpp6
-rw-r--r--lib/Transforms/Scalar/Reassociate.cpp190
-rw-r--r--lib/Transforms/Scalar/RewriteStatepointsForGC.cpp6
-rw-r--r--lib/Transforms/Scalar/SCCP.cpp75
-rw-r--r--lib/Transforms/Scalar/SROA.cpp40
-rw-r--r--lib/Transforms/Scalar/Scalar.cpp9
-rw-r--r--lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp2
-rw-r--r--lib/Transforms/Scalar/SimpleLoopUnswitch.cpp25
-rw-r--r--lib/Transforms/Scalar/SpeculateAroundPHIs.cpp6
-rw-r--r--lib/Transforms/Scalar/StructurizeCFG.cpp2
-rw-r--r--lib/Transforms/Scalar/TailRecursionElimination.cpp2
-rw-r--r--lib/Transforms/Utils/BasicBlockUtils.cpp64
-rw-r--r--lib/Transforms/Utils/BuildLibCalls.cpp94
-rw-r--r--lib/Transforms/Utils/BypassSlowDivision.cpp8
-rw-r--r--lib/Transforms/Utils/CanonicalizeAliases.cpp1
-rw-r--r--lib/Transforms/Utils/CloneFunction.cpp15
-rw-r--r--lib/Transforms/Utils/CloneModule.cpp18
-rw-r--r--lib/Transforms/Utils/CodeExtractor.cpp309
-rw-r--r--lib/Transforms/Utils/EntryExitInstrumenter.cpp2
-rw-r--r--lib/Transforms/Utils/Evaluator.cpp2
-rw-r--r--lib/Transforms/Utils/FlattenCFG.cpp20
-rw-r--r--lib/Transforms/Utils/FunctionImportUtils.cpp2
-rw-r--r--lib/Transforms/Utils/ImportedFunctionsInliningStatistics.cpp6
-rw-r--r--lib/Transforms/Utils/LibCallsShrinkWrap.cpp2
-rw-r--r--lib/Transforms/Utils/Local.cpp209
-rw-r--r--lib/Transforms/Utils/LoopRotationUtils.cpp27
-rw-r--r--lib/Transforms/Utils/LoopSimplify.cpp15
-rw-r--r--lib/Transforms/Utils/LoopUnroll.cpp12
-rw-r--r--lib/Transforms/Utils/LoopUnrollAndJam.cpp6
-rw-r--r--lib/Transforms/Utils/LoopUnrollPeel.cpp161
-rw-r--r--lib/Transforms/Utils/LoopUtils.cpp56
-rw-r--r--lib/Transforms/Utils/LoopVersioning.cpp4
-rw-r--r--lib/Transforms/Utils/MetaRenamer.cpp5
-rw-r--r--lib/Transforms/Utils/MisExpect.cpp177
-rw-r--r--lib/Transforms/Utils/ModuleUtils.cpp2
-rw-r--r--lib/Transforms/Utils/PredicateInfo.cpp80
-rw-r--r--lib/Transforms/Utils/SimplifyCFG.cpp250
-rw-r--r--lib/Transforms/Utils/SimplifyLibCalls.cpp688
-rw-r--r--lib/Transforms/Utils/SymbolRewriter.cpp12
-rw-r--r--lib/Transforms/Utils/VNCoercion.cpp2
-rw-r--r--lib/Transforms/Utils/ValueMapper.cpp60
-rw-r--r--lib/Transforms/Vectorize/LoadStoreVectorizer.cpp26
-rw-r--r--lib/Transforms/Vectorize/LoopVectorizationLegality.cpp186
-rw-r--r--lib/Transforms/Vectorize/LoopVectorizationPlanner.h4
-rw-r--r--lib/Transforms/Vectorize/LoopVectorize.cpp738
-rw-r--r--lib/Transforms/Vectorize/SLPVectorizer.cpp820
-rw-r--r--lib/Transforms/Vectorize/VPlan.cpp19
-rw-r--r--lib/Transforms/Vectorize/VPlan.h4
-rw-r--r--lib/Transforms/Vectorize/VPlanHCFGTransforms.cpp2
-rw-r--r--lib/Transforms/Vectorize/VPlanSLP.cpp13
-rw-r--r--lib/WindowsManifest/WindowsManifestMerger.cpp4
-rw-r--r--lib/XRay/FDRRecordProducer.cpp37
-rw-r--r--lib/XRay/FileHeaderReader.cpp14
-rw-r--r--lib/XRay/InstrumentationMap.cpp17
-rw-r--r--lib/XRay/Profile.cpp10
-rw-r--r--lib/XRay/RecordInitializer.cpp202
-rw-r--r--lib/XRay/Trace.cpp43
-rw-r--r--tools/bugpoint/BugDriver.h7
-rw-r--r--tools/bugpoint/ExtractFunction.cpp3
-rw-r--r--tools/bugpoint/OptimizerDriver.cpp12
-rw-r--r--tools/bugpoint/ToolRunner.cpp16
-rw-r--r--tools/bugpoint/bugpoint.cpp46
-rw-r--r--tools/llc/llc.cpp27
-rw-r--r--tools/lli/lli.cpp71
-rw-r--r--tools/llvm-ar/llvm-ar.cpp192
-rw-r--r--tools/llvm-as/llvm-as.cpp2
-rw-r--r--tools/llvm-cov/CodeCoverage.cpp24
-rw-r--r--tools/llvm-cov/SourceCoverageView.cpp8
-rw-r--r--tools/llvm-cov/TestingSupport.cpp10
-rw-r--r--tools/llvm-cxxdump/llvm-cxxdump.cpp6
-rw-r--r--tools/llvm-cxxmap/llvm-cxxmap.cpp2
-rw-r--r--tools/llvm-dis/llvm-dis.cpp4
-rw-r--r--tools/llvm-dwarfdump/Statistics.cpp263
-rw-r--r--tools/llvm-dwarfdump/llvm-dwarfdump.cpp2
-rw-r--r--tools/llvm-extract/llvm-extract.cpp16
-rw-r--r--tools/llvm-ifs/CMakeLists.txt10
-rw-r--r--tools/llvm-ifs/LLVMBuild.txt21
-rw-r--r--tools/llvm-ifs/llvm-ifs.cpp532
-rw-r--r--tools/llvm-link/llvm-link.cpp6
-rw-r--r--tools/llvm-lto/llvm-lto.cpp20
-rw-r--r--tools/llvm-lto2/llvm-lto2.cpp12
-rw-r--r--tools/llvm-mc/Disassembler.cpp15
-rw-r--r--tools/llvm-mc/Disassembler.h10
-rw-r--r--tools/llvm-mc/llvm-mc.cpp27
-rw-r--r--tools/llvm-mca/CodeRegion.cpp6
-rw-r--r--tools/llvm-mca/CodeRegionGenerator.cpp2
-rw-r--r--tools/llvm-mca/Views/BottleneckAnalysis.cpp40
-rw-r--r--tools/llvm-mca/Views/BottleneckAnalysis.h8
-rw-r--r--tools/llvm-mca/Views/InstructionInfoView.cpp31
-rw-r--r--tools/llvm-mca/Views/InstructionInfoView.h13
-rw-r--r--tools/llvm-mca/Views/TimelineView.cpp50
-rw-r--r--tools/llvm-mca/Views/TimelineView.h1
-rw-r--r--tools/llvm-mca/llvm-mca.cpp113
-rw-r--r--tools/llvm-modextract/llvm-modextract.cpp2
-rw-r--r--tools/llvm-nm/llvm-nm.cpp51
-rw-r--r--tools/llvm-objcopy/COFF/COFFObjcopy.cpp88
-rw-r--r--tools/llvm-objcopy/COFF/Reader.cpp18
-rw-r--r--tools/llvm-objcopy/COFF/Writer.cpp4
-rw-r--r--tools/llvm-objcopy/CommonOpts.td123
-rw-r--r--tools/llvm-objcopy/CopyConfig.cpp370
-rw-r--r--tools/llvm-objcopy/CopyConfig.h110
-rw-r--r--tools/llvm-objcopy/ELF/ELFConfig.cpp133
-rw-r--r--tools/llvm-objcopy/ELF/ELFConfig.h44
-rw-r--r--tools/llvm-objcopy/ELF/ELFObjcopy.cpp169
-rw-r--r--tools/llvm-objcopy/ELF/Object.cpp252
-rw-r--r--tools/llvm-objcopy/ELF/Object.h56
-rw-r--r--tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp350
-rw-r--r--tools/llvm-objcopy/MachO/MachOLayoutBuilder.h50
-rw-r--r--tools/llvm-objcopy/MachO/MachOObjcopy.cpp30
-rw-r--r--tools/llvm-objcopy/MachO/MachOReader.cpp45
-rw-r--r--tools/llvm-objcopy/MachO/MachOReader.h3
-rw-r--r--tools/llvm-objcopy/MachO/MachOWriter.cpp305
-rw-r--r--tools/llvm-objcopy/MachO/MachOWriter.h19
-rw-r--r--tools/llvm-objcopy/MachO/Object.h27
-rw-r--r--tools/llvm-objcopy/ObjcopyOpts.td141
-rw-r--r--tools/llvm-objcopy/StripOpts.td103
-rw-r--r--tools/llvm-objcopy/llvm-objcopy.cpp53
-rw-r--r--tools/llvm-objdump/COFFDump.cpp77
-rw-r--r--tools/llvm-objdump/ELFDump.cpp2
-rw-r--r--tools/llvm-objdump/MachODump.cpp375
-rw-r--r--tools/llvm-objdump/llvm-objdump.cpp543
-rw-r--r--tools/llvm-objdump/llvm-objdump.h36
-rw-r--r--tools/llvm-pdbutil/BytesOutputStyle.cpp2
-rw-r--r--tools/llvm-pdbutil/DumpOutputStyle.cpp9
-rw-r--r--tools/llvm-pdbutil/ExplainOutputStyle.cpp2
-rw-r--r--tools/llvm-pdbutil/InputFile.cpp17
-rw-r--r--tools/llvm-pdbutil/MinimalSymbolDumper.cpp5
-rw-r--r--tools/llvm-pdbutil/PrettyTypeDumper.cpp4
-rw-r--r--tools/llvm-pdbutil/llvm-pdbutil.cpp10
-rw-r--r--tools/llvm-profdata/llvm-profdata.cpp287
-rw-r--r--tools/llvm-readobj/ARMEHABIPrinter.h19
-rw-r--r--tools/llvm-readobj/ARMWinEHPrinter.cpp9
-rw-r--r--tools/llvm-readobj/COFFDumper.cpp362
-rw-r--r--tools/llvm-readobj/DwarfCFIEHPrinter.h54
-rw-r--r--tools/llvm-readobj/ELFDumper.cpp1648
-rw-r--r--tools/llvm-readobj/MachODumper.cpp61
-rw-r--r--tools/llvm-readobj/ObjDumper.cpp32
-rw-r--r--tools/llvm-readobj/ObjDumper.h11
-rw-r--r--tools/llvm-readobj/WasmDumper.cpp7
-rw-r--r--tools/llvm-readobj/Win64EHDumper.cpp13
-rw-r--r--tools/llvm-readobj/WindowsResourceDumper.cpp8
-rw-r--r--tools/llvm-readobj/XCOFFDumper.cpp402
-rw-r--r--tools/llvm-readobj/llvm-readobj.cpp148
-rw-r--r--tools/llvm-readobj/llvm-readobj.h25
-rw-r--r--tools/llvm-reduce/CMakeLists.txt26
-rw-r--r--tools/llvm-reduce/DeltaManager.h36
-rw-r--r--tools/llvm-reduce/LLVMBuild.txt24
-rw-r--r--tools/llvm-reduce/TestRunner.cpp42
-rw-r--r--tools/llvm-reduce/TestRunner.h46
-rw-r--r--tools/llvm-reduce/deltas/Delta.cpp162
-rw-r--r--tools/llvm-reduce/deltas/Delta.h76
-rw-r--r--tools/llvm-reduce/deltas/ReduceArguments.cpp125
-rw-r--r--tools/llvm-reduce/deltas/ReduceArguments.h21
-rw-r--r--tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp146
-rw-r--r--tools/llvm-reduce/deltas/ReduceBasicBlocks.h20
-rw-r--r--tools/llvm-reduce/deltas/ReduceFunctions.cpp77
-rw-r--r--tools/llvm-reduce/deltas/ReduceFunctions.h20
-rw-r--r--tools/llvm-reduce/deltas/ReduceGlobalVars.cpp74
-rw-r--r--tools/llvm-reduce/deltas/ReduceGlobalVars.h20
-rw-r--r--tools/llvm-reduce/deltas/ReduceInstructions.cpp65
-rw-r--r--tools/llvm-reduce/deltas/ReduceInstructions.h20
-rw-r--r--tools/llvm-reduce/deltas/ReduceMetadata.cpp138
-rw-r--r--tools/llvm-reduce/deltas/ReduceMetadata.h18
-rw-r--r--tools/llvm-reduce/llvm-reduce.cpp114
-rw-r--r--tools/llvm-rtdyld/llvm-rtdyld.cpp104
-rw-r--r--tools/llvm-stress/llvm-stress.cpp4
-rw-r--r--tools/llvm-symbolizer/llvm-symbolizer.cpp6
-rw-r--r--tools/llvm-xray/func-id-helper.cpp2
-rw-r--r--tools/llvm-xray/xray-account.cpp2
-rw-r--r--tools/llvm-xray/xray-converter.cpp4
-rw-r--r--tools/llvm-xray/xray-extract.cpp2
-rw-r--r--tools/llvm-xray/xray-fdr-dump.cpp2
-rw-r--r--tools/llvm-xray/xray-graph-diff.cpp2
-rw-r--r--tools/llvm-xray/xray-graph.cpp2
-rw-r--r--tools/opt/opt.cpp13
-rw-r--r--tools/vfabi-demangle-fuzzer/CMakeLists.txt7
-rw-r--r--tools/vfabi-demangle-fuzzer/vfabi-demangler-fuzzer.cpp26
-rw-r--r--utils/TableGen/AsmMatcherEmitter.cpp19
-rw-r--r--utils/TableGen/AsmWriterEmitter.cpp3
-rw-r--r--utils/TableGen/CallingConvEmitter.cpp4
-rw-r--r--utils/TableGen/CodeEmitterGen.cpp305
-rw-r--r--utils/TableGen/CodeGenDAGPatterns.cpp42
-rw-r--r--utils/TableGen/CodeGenDAGPatterns.h4
-rw-r--r--utils/TableGen/CodeGenInstruction.cpp1
-rw-r--r--utils/TableGen/CodeGenInstruction.h1
-rw-r--r--utils/TableGen/CodeGenIntrinsics.h8
-rw-r--r--utils/TableGen/CodeGenMapTable.cpp12
-rw-r--r--utils/TableGen/CodeGenRegisters.cpp52
-rw-r--r--utils/TableGen/CodeGenRegisters.h26
-rw-r--r--utils/TableGen/CodeGenSchedule.cpp24
-rw-r--r--utils/TableGen/CodeGenTarget.cpp70
-rw-r--r--utils/TableGen/CodeGenTarget.h6
-rw-r--r--utils/TableGen/DAGISelEmitter.cpp2
-rw-r--r--utils/TableGen/DAGISelMatcher.h8
-rw-r--r--utils/TableGen/DAGISelMatcherEmitter.cpp22
-rw-r--r--utils/TableGen/DAGISelMatcherGen.cpp10
-rw-r--r--utils/TableGen/DAGISelMatcherOpt.cpp9
-rw-r--r--utils/TableGen/DFAEmitter.cpp394
-rw-r--r--utils/TableGen/DFAEmitter.h107
-rw-r--r--utils/TableGen/DFAPacketizerEmitter.cpp657
-rw-r--r--utils/TableGen/DisassemblerEmitter.cpp2
-rw-r--r--utils/TableGen/FixedLenDecoderEmitter.cpp93
-rw-r--r--utils/TableGen/GICombinerEmitter.cpp452
-rw-r--r--utils/TableGen/GlobalISel/CMakeLists.txt7
-rw-r--r--utils/TableGen/GlobalISel/CodeExpander.cpp93
-rw-r--r--utils/TableGen/GlobalISel/CodeExpander.h55
-rw-r--r--utils/TableGen/GlobalISel/CodeExpansions.h43
-rw-r--r--utils/TableGen/GlobalISelEmitter.cpp775
-rw-r--r--utils/TableGen/InfoByHwMode.cpp11
-rw-r--r--utils/TableGen/InfoByHwMode.h5
-rw-r--r--utils/TableGen/InstrDocsEmitter.cpp2
-rw-r--r--utils/TableGen/InstrInfoEmitter.cpp52
-rw-r--r--utils/TableGen/IntrinsicEmitter.cpp20
-rw-r--r--utils/TableGen/RISCVCompressInstEmitter.cpp13
-rw-r--r--utils/TableGen/RegisterInfoEmitter.cpp4
-rw-r--r--utils/TableGen/SearchableTableEmitter.cpp16
-rw-r--r--utils/TableGen/SubtargetEmitter.cpp8
-rw-r--r--utils/TableGen/SubtargetFeatureInfo.cpp12
-rw-r--r--utils/TableGen/TableGen.cpp157
-rw-r--r--utils/TableGen/TableGenBackends.h2
-rw-r--r--utils/TableGen/WebAssemblyDisassemblerEmitter.cpp2
-rw-r--r--utils/TableGen/X86DisassemblerTables.cpp2
-rw-r--r--utils/TableGen/X86EVEX2VEXTablesEmitter.cpp1
-rw-r--r--utils/TableGen/X86RecognizableInstr.cpp14
-rwxr-xr-xutils/add_argument_names.py82
-rw-r--r--utils/llvm-locstats/CMakeLists.txt12
-rwxr-xr-xutils/llvm-locstats/llvm-locstats.py209
2118 files changed, 120703 insertions, 48751 deletions
diff --git a/include/llvm-c/Core.h b/include/llvm-c/Core.h
index cac2f297056d..b84970956666 100644
--- a/include/llvm-c/Core.h
+++ b/include/llvm-c/Core.h
@@ -370,9 +370,13 @@ typedef enum {
LLVMAtomicRMWBinOpUMax, /**< Sets the value if it's greater than the
original using an unsigned comparison and return
the old one */
- LLVMAtomicRMWBinOpUMin /**< Sets the value if it's greater than the
- original using an unsigned comparison and return
- the old one */
+ LLVMAtomicRMWBinOpUMin, /**< Sets the value if it's greater than the
+ original using an unsigned comparison and return
+ the old one */
+ LLVMAtomicRMWBinOpFAdd, /**< Add a floating point value and return the
+ old one */
+ LLVMAtomicRMWBinOpFSub /**< Subtract a floating point value and return the
+ old one */
} LLVMAtomicRMWBinOp;
typedef enum {
@@ -1539,6 +1543,7 @@ LLVMTypeRef LLVMX86MMXType(void);
macro(GlobalVariable) \
macro(UndefValue) \
macro(Instruction) \
+ macro(UnaryOperator) \
macro(BinaryOperator) \
macro(CallInst) \
macro(IntrinsicInst) \
@@ -1571,6 +1576,8 @@ LLVMTypeRef LLVMX86MMXType(void);
macro(ResumeInst) \
macro(CleanupReturnInst) \
macro(CatchReturnInst) \
+ macro(CatchSwitchInst) \
+ macro(CallBrInst) \
macro(FuncletPadInst) \
macro(CatchPadInst) \
macro(CleanupPadInst) \
@@ -1592,7 +1599,10 @@ LLVMTypeRef LLVMX86MMXType(void);
macro(ZExtInst) \
macro(ExtractValueInst) \
macro(LoadInst) \
- macro(VAArgInst)
+ macro(VAArgInst) \
+ macro(AtomicCmpXchgInst) \
+ macro(AtomicRMWInst) \
+ macro(FenceInst)
/**
* @defgroup LLVMCCoreValueGeneral General APIs
@@ -3807,8 +3817,12 @@ LLVMValueRef LLVMBuildGlobalStringPtr(LLVMBuilderRef B, const char *Str,
const char *Name);
LLVMBool LLVMGetVolatile(LLVMValueRef MemoryAccessInst);
void LLVMSetVolatile(LLVMValueRef MemoryAccessInst, LLVMBool IsVolatile);
+LLVMBool LLVMGetWeak(LLVMValueRef CmpXchgInst);
+void LLVMSetWeak(LLVMValueRef CmpXchgInst, LLVMBool IsWeak);
LLVMAtomicOrdering LLVMGetOrdering(LLVMValueRef MemoryAccessInst);
void LLVMSetOrdering(LLVMValueRef MemoryAccessInst, LLVMAtomicOrdering Ordering);
+LLVMAtomicRMWBinOp LLVMGetAtomicRMWBinOp(LLVMValueRef AtomicRMWInst);
+void LLVMSetAtomicRMWBinOp(LLVMValueRef AtomicRMWInst, LLVMAtomicRMWBinOp BinOp);
/* Casts */
LLVMValueRef LLVMBuildTrunc(LLVMBuilderRef, LLVMValueRef Val,
diff --git a/include/llvm-c/DebugInfo.h b/include/llvm-c/DebugInfo.h
index 33c8110a863c..41e9f96bbb92 100644
--- a/include/llvm-c/DebugInfo.h
+++ b/include/llvm-c/DebugInfo.h
@@ -32,7 +32,7 @@ typedef enum {
LLVMDIFlagPublic = 3,
LLVMDIFlagFwdDecl = 1 << 2,
LLVMDIFlagAppleBlock = 1 << 3,
- LLVMDIFlagBlockByrefStruct = 1 << 4,
+ LLVMDIFlagReservedBit4 = 1 << 4,
LLVMDIFlagVirtual = 1 << 5,
LLVMDIFlagArtificial = 1 << 6,
LLVMDIFlagExplicit = 1 << 7,
@@ -170,6 +170,19 @@ typedef unsigned LLVMMetadataKind;
typedef unsigned LLVMDWARFTypeEncoding;
/**
+ * Describes the kind of macro declaration used for LLVMDIBuilderCreateMacro.
+ * @see llvm::dwarf::MacinfoRecordType
+ * @note Values are from DW_MACINFO_* constants in the DWARF specification.
+ */
+typedef enum {
+ LLVMDWARFMacinfoRecordTypeDefine = 0x01,
+ LLVMDWARFMacinfoRecordTypeMacro = 0x02,
+ LLVMDWARFMacinfoRecordTypeStartFile = 0x03,
+ LLVMDWARFMacinfoRecordTypeEndFile = 0x04,
+ LLVMDWARFMacinfoRecordTypeVendorExt = 0xff
+} LLVMDWARFMacinfoRecordType;
+
+/**
* The current debug metadata version number.
*/
unsigned LLVMDebugMetadataVersion(void);
@@ -522,6 +535,38 @@ LLVMDIBuilderCreateSubroutineType(LLVMDIBuilderRef Builder,
LLVMDIFlags Flags);
/**
+ * Create debugging information entry for a macro.
+ * @param Builder The DIBuilder.
+ * @param ParentMacroFile Macro parent (could be NULL).
+ * @param Line Source line number where the macro is defined.
+ * @param RecordType DW_MACINFO_define or DW_MACINFO_undef.
+ * @param Name Macro name.
+ * @param NameLen Macro name length.
+ * @param Value Macro value.
+ * @param ValueLen Macro value length.
+ */
+LLVMMetadataRef LLVMDIBuilderCreateMacro(LLVMDIBuilderRef Builder,
+ LLVMMetadataRef ParentMacroFile,
+ unsigned Line,
+ LLVMDWARFMacinfoRecordType RecordType,
+ const char *Name, size_t NameLen,
+ const char *Value, size_t ValueLen);
+
+/**
+ * Create debugging information temporary entry for a macro file.
+ * List of macro node direct children will be calculated by DIBuilder,
+ * using the \p ParentMacroFile relationship.
+ * @param Builder The DIBuilder.
+ * @param ParentMacroFile Macro parent (could be NULL).
+ * @param Line Source line number where the macro file is included.
+ * @param File File descriptor containing the name of the macro file.
+ */
+LLVMMetadataRef
+LLVMDIBuilderCreateTempMacroFile(LLVMDIBuilderRef Builder,
+ LLVMMetadataRef ParentMacroFile, unsigned Line,
+ LLVMMetadataRef File);
+
+/**
* Create debugging information entry for an enumerator.
* @param Builder The DIBuilder.
* @param Name Enumerator name.
diff --git a/include/llvm-c/Remarks.h b/include/llvm-c/Remarks.h
index 88eb5120c57c..5444aebddd60 100644
--- a/include/llvm-c/Remarks.h
+++ b/include/llvm-c/Remarks.h
@@ -30,7 +30,8 @@ extern "C" {
* @{
*/
-#define REMARKS_API_VERSION 0
+// 0 -> 1: Bitstream remarks support.
+#define REMARKS_API_VERSION 1
/**
* The type of the emitted remark.
@@ -241,6 +242,20 @@ extern LLVMRemarkParserRef LLVMRemarkParserCreateYAML(const void *Buf,
uint64_t Size);
/**
+ * Creates a remark parser that can be used to parse the buffer located in \p
+ * Buf of size \p Size bytes.
+ *
+ * \p Buf cannot be `NULL`.
+ *
+ * This function should be paired with LLVMRemarkParserDispose() to avoid
+ * leaking resources.
+ *
+ * \since REMARKS_API_VERSION=1
+ */
+extern LLVMRemarkParserRef LLVMRemarkParserCreateBitstream(const void *Buf,
+ uint64_t Size);
+
+/**
* Returns the next remark in the file.
*
* The value pointed to by the return value needs to be disposed using a call to
diff --git a/include/llvm-c/Transforms/IPO.h b/include/llvm-c/Transforms/IPO.h
index 7a82ed464141..51d007581283 100644
--- a/include/llvm-c/Transforms/IPO.h
+++ b/include/llvm-c/Transforms/IPO.h
@@ -34,6 +34,9 @@ void LLVMAddArgumentPromotionPass(LLVMPassManagerRef PM);
/** See llvm::createConstantMergePass function. */
void LLVMAddConstantMergePass(LLVMPassManagerRef PM);
+/** See llvm::createMergeFunctionsPass function. */
+void LLVMAddMergeFunctionsPass(LLVMPassManagerRef PM);
+
/** See llvm::createCalledValuePropagationPass function. */
void LLVMAddCalledValuePropagationPass(LLVMPassManagerRef PM);
@@ -67,6 +70,21 @@ void LLVMAddIPSCCPPass(LLVMPassManagerRef PM);
/** See llvm::createInternalizePass function. */
void LLVMAddInternalizePass(LLVMPassManagerRef, unsigned AllButMain);
+/**
+ * Create and add the internalize pass to the given pass manager with the
+ * provided preservation callback.
+ *
+ * The context parameter is forwarded to the callback on each invocation.
+ * As such, it is the responsibility of the caller to extend its lifetime
+ * until execution of this pass has finished.
+ *
+ * @see llvm::createInternalizePass function.
+ */
+void LLVMAddInternalizePassWithMustPreservePredicate(
+ LLVMPassManagerRef PM,
+ void *Context,
+ LLVMBool (*MustPreserve)(LLVMValueRef, void *));
+
/** See llvm::createStripDeadPrototypesPass function. */
void LLVMAddStripDeadPrototypesPass(LLVMPassManagerRef PM);
diff --git a/include/llvm-c/Transforms/Scalar.h b/include/llvm-c/Transforms/Scalar.h
index 031cf98b2df2..6f3a3d8b3750 100644
--- a/include/llvm-c/Transforms/Scalar.h
+++ b/include/llvm-c/Transforms/Scalar.h
@@ -35,6 +35,9 @@ extern "C" {
/** See llvm::createAggressiveDCEPass function. */
void LLVMAddAggressiveDCEPass(LLVMPassManagerRef PM);
+/** See llvm::createDeadCodeEliminationPass function. */
+void LLVMAddDCEPass(LLVMPassManagerRef PM);
+
/** See llvm::createBitTrackingDCEPass function. */
void LLVMAddBitTrackingDCEPass(LLVMPassManagerRef PM);
@@ -144,6 +147,9 @@ void LLVMAddEarlyCSEMemSSAPass(LLVMPassManagerRef PM);
/** See llvm::createLowerExpectIntrinsicPass function */
void LLVMAddLowerExpectIntrinsicPass(LLVMPassManagerRef PM);
+/** See llvm::createLowerConstantIntrinsicsPass function */
+void LLVMAddLowerConstantIntrinsicsPass(LLVMPassManagerRef PM);
+
/** See llvm::createTypeBasedAliasAnalysisPass function */
void LLVMAddTypeBasedAliasAnalysisPass(LLVMPassManagerRef PM);
diff --git a/include/llvm-c/lto.h b/include/llvm-c/lto.h
index 2467722b1954..41e6067cf44f 100644
--- a/include/llvm-c/lto.h
+++ b/include/llvm-c/lto.h
@@ -44,7 +44,7 @@ typedef bool lto_bool_t;
* @{
*/
-#define LTO_API_VERSION 24
+#define LTO_API_VERSION 25
/**
* \since prior to LTO_API_VERSION=3
@@ -550,6 +550,56 @@ extern void
lto_codegen_set_should_embed_uselists(lto_code_gen_t cg,
lto_bool_t ShouldEmbedUselists);
+/** Opaque reference to an LTO input file */
+typedef struct LLVMOpaqueLTOInput *lto_input_t;
+
+/**
+ * Creates an LTO input file from a buffer. The path
+ * argument is used for diagnotics as this function
+ * otherwise does not know which file the given buffer
+ * is associated with.
+ *
+ * \since LTO_API_VERSION=24
+ */
+extern lto_input_t lto_input_create(const void *buffer,
+ size_t buffer_size,
+ const char *path);
+
+/**
+ * Frees all memory internally allocated by the LTO input file.
+ * Upon return the lto_module_t is no longer valid.
+ *
+ * \since LTO_API_VERSION=24
+ */
+extern void lto_input_dispose(lto_input_t input);
+
+/**
+ * Returns the number of dependent library specifiers
+ * for the given LTO input file.
+ *
+ * \since LTO_API_VERSION=24
+ */
+extern unsigned lto_input_get_num_dependent_libraries(lto_input_t input);
+
+/**
+ * Returns the ith dependent library specifier
+ * for the given LTO input file. The returned
+ * string is not null-terminated.
+ *
+ * \since LTO_API_VERSION=24
+ */
+extern const char * lto_input_get_dependent_library(lto_input_t input,
+ size_t index,
+ size_t *size);
+
+/**
+ * Returns the list of libcall symbols that can be generated by LTO
+ * that might not be visible from the symbol table of bitcode files.
+ *
+ * \since prior to LTO_API_VERSION=25
+ */
+extern const char *const *lto_runtime_lib_symbols_list(size_t *size);
+
/**
* @} // endgoup LLVMCLTO
* @defgroup LLVMCTLTO ThinLTO
@@ -846,48 +896,6 @@ thinlto_codegen_set_cache_size_megabytes(thinlto_code_gen_t cg,
extern void thinlto_codegen_set_cache_size_files(thinlto_code_gen_t cg,
unsigned max_size_files);
-/** Opaque reference to an LTO input file */
-typedef struct LLVMOpaqueLTOInput *lto_input_t;
-
-/**
- * Creates an LTO input file from a buffer. The path
- * argument is used for diagnotics as this function
- * otherwise does not know which file the given buffer
- * is associated with.
- *
- * \since LTO_API_VERSION=24
- */
-extern lto_input_t lto_input_create(const void *buffer,
- size_t buffer_size,
- const char *path);
-
-/**
- * Frees all memory internally allocated by the LTO input file.
- * Upon return the lto_module_t is no longer valid.
- *
- * \since LTO_API_VERSION=24
- */
-extern void lto_input_dispose(lto_input_t input);
-
-/**
- * Returns the number of dependent library specifiers
- * for the given LTO input file.
- *
- * \since LTO_API_VERSION=24
- */
-extern unsigned lto_input_get_num_dependent_libraries(lto_input_t input);
-
-/**
- * Returns the ith dependent library specifier
- * for the given LTO input file. The returned
- * string is not null-terminated.
- *
- * \since LTO_API_VERSION=24
- */
-extern const char * lto_input_get_dependent_library(lto_input_t input,
- size_t index,
- size_t *size);
-
/**
* @} // endgroup LLVMCTLTO_CACHING
*/
diff --git a/include/llvm/ADT/APFloat.h b/include/llvm/ADT/APFloat.h
index a9648d35cf5d..1c4969733791 100644
--- a/include/llvm/ADT/APFloat.h
+++ b/include/llvm/ADT/APFloat.h
@@ -192,6 +192,11 @@ struct APFloatBase {
/// IEEE-754R 7: Default exception handling.
///
/// opUnderflow or opOverflow are always returned or-ed with opInexact.
+ ///
+ /// APFloat models this behavior specified by IEEE-754:
+ /// "For operations producing results in floating-point format, the default
+ /// result of an operation that signals the invalid operation exception
+ /// shall be a quiet NaN."
enum opStatus {
opOK = 0x00,
opInvalidOp = 0x01,
diff --git a/include/llvm/ADT/APInt.h b/include/llvm/ADT/APInt.h
index 2381b75e08b1..8dce5a621bb3 100644
--- a/include/llvm/ADT/APInt.h
+++ b/include/llvm/ADT/APInt.h
@@ -1467,6 +1467,13 @@ public:
U.pVal[whichWord(BitPosition)] &= Mask;
}
+ /// Set bottom loBits bits to 0.
+ void clearLowBits(unsigned loBits) {
+ assert(loBits <= BitWidth && "More bits than bitwidth");
+ APInt Keep = getHighBitsSet(BitWidth, BitWidth - loBits);
+ *this &= Keep;
+ }
+
/// Set the sign bit to 0.
void clearSignBit() {
clearBit(BitWidth - 1);
@@ -1496,9 +1503,11 @@ public:
/// Insert the bits from a smaller APInt starting at bitPosition.
void insertBits(const APInt &SubBits, unsigned bitPosition);
+ void insertBits(uint64_t SubBits, unsigned bitPosition, unsigned numBits);
/// Return an APInt with the extracted bits [bitPosition,bitPosition+numBits).
APInt extractBits(unsigned numBits, unsigned bitPosition) const;
+ uint64_t extractBitsAsZExtValue(unsigned numBits, unsigned bitPosition) const;
/// @}
/// \name Value Characterization Functions
diff --git a/include/llvm/ADT/Any.h b/include/llvm/ADT/Any.h
index 5dcd6e73c54f..49657e02a991 100644
--- a/include/llvm/ADT/Any.h
+++ b/include/llvm/ADT/Any.h
@@ -38,7 +38,7 @@ class Any {
explicit StorageImpl(T &&Value) : Value(std::move(Value)) {}
std::unique_ptr<StorageBase> clone() const override {
- return llvm::make_unique<StorageImpl<T>>(Value);
+ return std::make_unique<StorageImpl<T>>(Value);
}
const void *id() const override { return &TypeId<T>::Id; }
@@ -78,7 +78,7 @@ public:
int>::type = 0>
Any(T &&Value) {
using U = typename std::decay<T>::type;
- Storage = llvm::make_unique<StorageImpl<U>>(std::forward<T>(Value));
+ Storage = std::make_unique<StorageImpl<U>>(std::forward<T>(Value));
}
Any(Any &&Other) : Storage(std::move(Other.Storage)) {}
diff --git a/include/llvm/ADT/ArrayRef.h b/include/llvm/ADT/ArrayRef.h
index 773c88f7c9f9..f6455d3fa412 100644
--- a/include/llvm/ADT/ArrayRef.h
+++ b/include/llvm/ADT/ArrayRef.h
@@ -481,6 +481,12 @@ namespace llvm {
return Vec;
}
+ /// Construct an ArrayRef from a std::array.
+ template <typename T, std::size_t N>
+ ArrayRef<T> makeArrayRef(const std::array<T, N> &Arr) {
+ return Arr;
+ }
+
/// Construct an ArrayRef from an ArrayRef (no-op) (const)
template <typename T> ArrayRef<T> makeArrayRef(const ArrayRef<T> &Vec) {
return Vec;
diff --git a/include/llvm/ADT/DenseMap.h b/include/llvm/ADT/DenseMap.h
index a05cf8130d3c..948a6e6bfb38 100644
--- a/include/llvm/ADT/DenseMap.h
+++ b/include/llvm/ADT/DenseMap.h
@@ -38,33 +38,7 @@ namespace detail {
// implementation without requiring two members.
template <typename KeyT, typename ValueT>
struct DenseMapPair : public std::pair<KeyT, ValueT> {
-
- // FIXME: Switch to inheriting constructors when we drop support for older
- // clang versions.
- // NOTE: This default constructor is declared with '{}' rather than
- // '= default' to work around a separate bug in clang-3.8. This can
- // also go when we switch to inheriting constructors.
- DenseMapPair() {}
-
- DenseMapPair(const KeyT &Key, const ValueT &Value)
- : std::pair<KeyT, ValueT>(Key, Value) {}
-
- DenseMapPair(KeyT &&Key, ValueT &&Value)
- : std::pair<KeyT, ValueT>(std::move(Key), std::move(Value)) {}
-
- template <typename AltKeyT, typename AltValueT>
- DenseMapPair(AltKeyT &&AltKey, AltValueT &&AltValue,
- typename std::enable_if<
- std::is_convertible<AltKeyT, KeyT>::value &&
- std::is_convertible<AltValueT, ValueT>::value>::type * = 0)
- : std::pair<KeyT, ValueT>(std::forward<AltKeyT>(AltKey),
- std::forward<AltValueT>(AltValue)) {}
-
- template <typename AltPairT>
- DenseMapPair(AltPairT &&AltPair,
- typename std::enable_if<std::is_convertible<
- AltPairT, std::pair<KeyT, ValueT>>::value>::type * = nullptr)
- : std::pair<KeyT, ValueT>(std::forward<AltPairT>(AltPair)) {}
+ using std::pair<KeyT, ValueT>::pair;
KeyT &getFirst() { return std::pair<KeyT, ValueT>::first; }
const KeyT &getFirst() const { return std::pair<KeyT, ValueT>::first; }
@@ -748,7 +722,7 @@ public:
~DenseMap() {
this->destroyAll();
- operator delete(Buckets);
+ deallocate_buffer(Buckets, sizeof(BucketT) * NumBuckets, alignof(BucketT));
}
void swap(DenseMap& RHS) {
@@ -768,7 +742,7 @@ public:
DenseMap& operator=(DenseMap &&other) {
this->destroyAll();
- operator delete(Buckets);
+ deallocate_buffer(Buckets, sizeof(BucketT) * NumBuckets, alignof(BucketT));
init(0);
swap(other);
return *this;
@@ -776,7 +750,7 @@ public:
void copyFrom(const DenseMap& other) {
this->destroyAll();
- operator delete(Buckets);
+ deallocate_buffer(Buckets, sizeof(BucketT) * NumBuckets, alignof(BucketT));
if (allocateBuckets(other.NumBuckets)) {
this->BaseT::copyFrom(other);
} else {
@@ -809,10 +783,12 @@ public:
this->moveFromOldBuckets(OldBuckets, OldBuckets+OldNumBuckets);
// Free the old table.
- operator delete(OldBuckets);
+ deallocate_buffer(OldBuckets, sizeof(BucketT) * OldNumBuckets,
+ alignof(BucketT));
}
void shrink_and_clear() {
+ unsigned OldNumBuckets = NumBuckets;
unsigned OldNumEntries = NumEntries;
this->destroyAll();
@@ -825,7 +801,8 @@ public:
return;
}
- operator delete(Buckets);
+ deallocate_buffer(Buckets, sizeof(BucketT) * OldNumBuckets,
+ alignof(BucketT));
init(NewNumBuckets);
}
@@ -861,7 +838,8 @@ private:
return false;
}
- Buckets = static_cast<BucketT*>(operator new(sizeof(BucketT) * NumBuckets));
+ Buckets = static_cast<BucketT *>(
+ allocate_buffer(sizeof(BucketT) * NumBuckets, alignof(BucketT)));
return true;
}
};
@@ -1076,7 +1054,8 @@ public:
this->moveFromOldBuckets(OldRep.Buckets, OldRep.Buckets+OldRep.NumBuckets);
// Free the old table.
- operator delete(OldRep.Buckets);
+ deallocate_buffer(OldRep.Buckets, sizeof(BucketT) * OldRep.NumBuckets,
+ alignof(BucketT));
}
void shrink_and_clear() {
@@ -1160,15 +1139,17 @@ private:
if (Small)
return;
- operator delete(getLargeRep()->Buckets);
+ deallocate_buffer(getLargeRep()->Buckets,
+ sizeof(BucketT) * getLargeRep()->NumBuckets,
+ alignof(BucketT));
getLargeRep()->~LargeRep();
}
LargeRep allocateBuckets(unsigned Num) {
assert(Num > InlineBuckets && "Must allocate more buckets than are inline");
- LargeRep Rep = {
- static_cast<BucketT*>(operator new(sizeof(BucketT) * Num)), Num
- };
+ LargeRep Rep = {static_cast<BucketT *>(allocate_buffer(
+ sizeof(BucketT) * Num, alignof(BucketT))),
+ Num};
return Rep;
}
};
diff --git a/include/llvm/ADT/DenseMapInfo.h b/include/llvm/ADT/DenseMapInfo.h
index 5ef6f3ad1b04..bd4c60c8f13e 100644
--- a/include/llvm/ADT/DenseMapInfo.h
+++ b/include/llvm/ADT/DenseMapInfo.h
@@ -17,7 +17,7 @@
#include "llvm/ADT/Hashing.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/PointerLikeTypeTraits.h"
-#include "llvm/Support/ScalableSize.h"
+#include "llvm/Support/TypeSize.h"
#include <cassert>
#include <cstddef>
#include <cstdint>
@@ -67,6 +67,17 @@ template<> struct DenseMapInfo<char> {
}
};
+// Provide DenseMapInfo for unsigned chars.
+template <> struct DenseMapInfo<unsigned char> {
+ static inline unsigned char getEmptyKey() { return ~0; }
+ static inline unsigned char getTombstoneKey() { return ~0 - 1; }
+ static unsigned getHashValue(const unsigned char &Val) { return Val * 37U; }
+
+ static bool isEqual(const unsigned char &LHS, const unsigned char &RHS) {
+ return LHS == RHS;
+ }
+};
+
// Provide DenseMapInfo for unsigned shorts.
template <> struct DenseMapInfo<unsigned short> {
static inline unsigned short getEmptyKey() { return 0xFFFF; }
diff --git a/include/llvm/ADT/DirectedGraph.h b/include/llvm/ADT/DirectedGraph.h
new file mode 100644
index 000000000000..f6a358d99cd2
--- /dev/null
+++ b/include/llvm/ADT/DirectedGraph.h
@@ -0,0 +1,270 @@
+//===- llvm/ADT/DirectedGraph.h - Directed Graph ----------------*- 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 the interface and a base class implementation for a
+// directed graph.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_ADT_DIRECTEDGRAPH_H
+#define LLVM_ADT_DIRECTEDGRAPH_H
+
+#include "llvm/ADT/GraphTraits.h"
+#include "llvm/ADT/SetVector.h"
+#include "llvm/ADT/SmallVector.h"
+#include "llvm/Support/Debug.h"
+#include "llvm/Support/raw_ostream.h"
+
+namespace llvm {
+
+/// Represent an edge in the directed graph.
+/// The edge contains the target node it connects to.
+template <class NodeType, class EdgeType> class DGEdge {
+public:
+ DGEdge() = delete;
+ /// Create an edge pointing to the given node \p N.
+ explicit DGEdge(NodeType &N) : TargetNode(N) {}
+ explicit DGEdge(const DGEdge<NodeType, EdgeType> &E)
+ : TargetNode(E.TargetNode) {}
+ DGEdge<NodeType, EdgeType> &operator=(const DGEdge<NodeType, EdgeType> &E) {
+ TargetNode = E.TargetNode;
+ return *this;
+ }
+
+ /// Static polymorphism: delegate implementation (via isEqualTo) to the