mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 02:33:06 +01:00
[NFC][AMDGPU] Split AMDGPUSubtarget.h to R600 and GCN subtargets
... to reduce headers dependency. Reviewed By: rampitec, arsenm Differential Revision: https://reviews.llvm.org/D95036
This commit is contained in:
parent
248ae4d5bc
commit
f3ae5b9b8c
@ -12,7 +12,7 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "llvm/Analysis/CallGraph.h"
|
||||
#include "llvm/Analysis/CallGraphSCCPass.h"
|
||||
#include "llvm/CodeGen/TargetPassConfig.h"
|
||||
|
@ -18,8 +18,8 @@
|
||||
#include "AMDGPUAsmPrinter.h"
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUHSAMetadataStreamer.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "AMDKernelCodeT.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUInstPrinter.h"
|
||||
#include "MCTargetDesc/AMDGPUTargetStreamer.h"
|
||||
#include "R600AsmPrinter.h"
|
||||
|
@ -14,7 +14,7 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "llvm/Analysis/LegacyDivergenceAnalysis.h"
|
||||
#include "llvm/CodeGen/TargetPassConfig.h"
|
||||
#include "llvm/IR/IRBuilder.h"
|
||||
|
@ -15,7 +15,6 @@
|
||||
#include "AMDGPUCallLowering.h"
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPULegalizerInfo.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "AMDGPUTargetMachine.h"
|
||||
#include "SIMachineFunctionInfo.h"
|
||||
#include "SIRegisterInfo.h"
|
||||
|
@ -13,7 +13,6 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "AMDGPUTargetMachine.h"
|
||||
#include "llvm/Analysis/AssumptionCache.h"
|
||||
#include "llvm/Analysis/ConstantFolding.h"
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
#include "AMDGPUHSAMetadataStreamer.h"
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUTargetStreamer.h"
|
||||
#include "SIMachineFunctionInfo.h"
|
||||
#include "SIProgramInfo.h"
|
||||
|
@ -12,7 +12,6 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "AMDGPUTargetMachine.h"
|
||||
#include "SIMachineFunctionInfo.h"
|
||||
#include "llvm/Analysis/LegacyDivergenceAnalysis.h"
|
||||
|
@ -16,7 +16,7 @@
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUInstrInfo.h"
|
||||
#include "AMDGPUMachineFunction.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "SIMachineFunctionInfo.h"
|
||||
#include "llvm/CodeGen/Analysis.h"
|
||||
#include "llvm/IR/DiagnosticInfo.h"
|
||||
|
@ -16,6 +16,8 @@
|
||||
|
||||
#include "AMDGPUInstrInfo.h"
|
||||
#include "AMDGPUTargetTransformInfo.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "R600Subtarget.h"
|
||||
#include "llvm/IR/IntrinsicsAMDGPU.h"
|
||||
#include "llvm/Transforms/InstCombine/InstCombiner.h"
|
||||
|
||||
|
@ -16,7 +16,6 @@
|
||||
#include "AMDGPUGlobalISelUtils.h"
|
||||
#include "AMDGPUInstrInfo.h"
|
||||
#include "AMDGPURegisterBankInfo.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "AMDGPUTargetMachine.h"
|
||||
#include "SIMachineFunctionInfo.h"
|
||||
#include "llvm/CodeGen/GlobalISel/GISelKnownBits.h"
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPULibFunc.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "llvm/Analysis/AliasAnalysis.h"
|
||||
#include "llvm/Analysis/Loads.h"
|
||||
#include "llvm/IR/IntrinsicsAMDGPU.h"
|
||||
|
@ -16,6 +16,7 @@
|
||||
#include "llvm/IR/IntrinsicsAMDGPU.h"
|
||||
#include "llvm/IR/IntrinsicsR600.h"
|
||||
#include "llvm/IR/Module.h"
|
||||
#include "llvm/Support/CommandLine.h"
|
||||
#include "llvm/Target/TargetMachine.h"
|
||||
#include "llvm/Transforms/Utils/LowerMemIntrinsics.h"
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "llvm/CodeGen/TargetPassConfig.h"
|
||||
#include "llvm/IR/IntrinsicsAMDGPU.h"
|
||||
#include "llvm/IR/MDBuilder.h"
|
||||
|
@ -13,7 +13,6 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUTargetMachine.h"
|
||||
#include "llvm/Analysis/ValueTracking.h"
|
||||
#include "llvm/CodeGen/Passes.h"
|
||||
#include "llvm/CodeGen/TargetPassConfig.h"
|
||||
|
@ -13,9 +13,9 @@
|
||||
//
|
||||
|
||||
#include "AMDGPUAsmPrinter.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "AMDGPUTargetMachine.h"
|
||||
#include "MCTargetDesc/AMDGPUInstPrinter.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "R600AsmPrinter.h"
|
||||
#include "llvm/CodeGen/MachineBasicBlock.h"
|
||||
#include "llvm/CodeGen/MachineInstr.h"
|
||||
|
@ -11,7 +11,7 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "llvm/ADT/DenseSet.h"
|
||||
#include "llvm/ADT/PostOrderIterator.h"
|
||||
#include "llvm/ADT/SetVector.h"
|
||||
|
@ -12,8 +12,8 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPUMacroFusion.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "SIInstrInfo.h"
|
||||
#include "llvm/CodeGen/MacroFusion.h"
|
||||
|
||||
using namespace llvm;
|
||||
|
@ -13,7 +13,8 @@
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPULegalizerInfo.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "llvm/CodeGen/GlobalISel/Combiner.h"
|
||||
#include "llvm/CodeGen/GlobalISel/CombinerHelper.h"
|
||||
#include "llvm/CodeGen/GlobalISel/CombinerInfo.h"
|
||||
|
@ -12,7 +12,7 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "llvm/Analysis/CaptureTracking.h"
|
||||
#include "llvm/Analysis/ValueTracking.h"
|
||||
#include "llvm/CodeGen/TargetPassConfig.h"
|
||||
|
@ -27,11 +27,15 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "Utils/AMDGPUBaseInfo.h"
|
||||
#include "llvm/ADT/SmallSet.h"
|
||||
#include "llvm/CodeGen/TargetPassConfig.h"
|
||||
#include "llvm/CodeGen/TargetSubtargetInfo.h"
|
||||
#include "llvm/IR/InstrTypes.h"
|
||||
#include "llvm/Target/TargetMachine.h"
|
||||
#include "llvm/Transforms/Utils/Cloning.h"
|
||||
|
||||
#define DEBUG_TYPE "amdgpu-propagate-attributes"
|
||||
|
||||
using namespace llvm;
|
||||
|
@ -13,8 +13,7 @@
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPULegalizerInfo.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "AMDGPUTargetMachine.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "llvm/CodeGen/GlobalISel/Combiner.h"
|
||||
#include "llvm/CodeGen/GlobalISel/CombinerHelper.h"
|
||||
#include "llvm/CodeGen/GlobalISel/CombinerInfo.h"
|
||||
|
@ -73,7 +73,7 @@
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUGlobalISelUtils.h"
|
||||
#include "AMDGPUInstrInfo.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "SIMachineFunctionInfo.h"
|
||||
#include "SIRegisterInfo.h"
|
||||
#include "llvm/CodeGen/GlobalISel/LegalizerHelper.h"
|
||||
|
@ -604,6 +604,11 @@ unsigned AMDGPUSubtarget::getKernArgSegmentSize(const Function &F,
|
||||
return alignTo(TotalSize, 4);
|
||||
}
|
||||
|
||||
AMDGPUDwarfFlavour AMDGPUSubtarget::getAMDGPUDwarfFlavour() const {
|
||||
return getWavefrontSize() == 32 ? AMDGPUDwarfFlavour::Wave32
|
||||
: AMDGPUDwarfFlavour::Wave64;
|
||||
}
|
||||
|
||||
R600Subtarget::R600Subtarget(const Triple &TT, StringRef GPU, StringRef FS,
|
||||
const TargetMachine &TM) :
|
||||
R600GenSubtargetInfo(TT, GPU, /*TuneCPU*/GPU, FS),
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -14,7 +14,8 @@
|
||||
#ifndef LLVM_LIB_TARGET_AMDGPU_AMDGPUTARGETMACHINE_H
|
||||
#define LLVM_LIB_TARGET_AMDGPU_AMDGPUTARGETMACHINE_H
|
||||
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "R600Subtarget.h"
|
||||
#include "llvm/Target/TargetMachine.h"
|
||||
|
||||
namespace llvm {
|
||||
|
@ -239,6 +239,26 @@ void AMDGPUTTIImpl::getPeelingPreferences(Loop *L, ScalarEvolution &SE,
|
||||
BaseT::getPeelingPreferences(L, SE, PP);
|
||||
}
|
||||
|
||||
const FeatureBitset GCNTTIImpl::InlineFeatureIgnoreList = {
|
||||
// Codegen control options which don't matter.
|
||||
AMDGPU::FeatureEnableLoadStoreOpt, AMDGPU::FeatureEnableSIScheduler,
|
||||
AMDGPU::FeatureEnableUnsafeDSOffsetFolding, AMDGPU::FeatureFlatForGlobal,
|
||||
AMDGPU::FeaturePromoteAlloca, AMDGPU::FeatureUnalignedScratchAccess,
|
||||
AMDGPU::FeatureUnalignedAccessMode,
|
||||
|
||||
AMDGPU::FeatureAutoWaitcntBeforeBarrier,
|
||||
|
||||
// Property of the kernel/environment which can't actually differ.
|
||||
AMDGPU::FeatureSGPRInitBug, AMDGPU::FeatureXNACK,
|
||||
AMDGPU::FeatureTrapHandler,
|
||||
|
||||
// The default assumption needs to be ecc is enabled, but no directly
|
||||
// exposed operations depend on it, so it can be safely inlined.
|
||||
AMDGPU::FeatureSRAMECC,
|
||||
|
||||
// Perf-tuning features
|
||||
AMDGPU::FeatureFastFMAF32, AMDGPU::HalfRate64Ops};
|
||||
|
||||
GCNTTIImpl::GCNTTIImpl(const AMDGPUTargetMachine *TM, const Function &F)
|
||||
: BaseT(TM, F.getParent()->getDataLayout()),
|
||||
ST(static_cast<const GCNSubtarget *>(TM->getSubtargetImpl(F))),
|
||||
@ -1113,6 +1133,11 @@ void GCNTTIImpl::getPeelingPreferences(Loop *L, ScalarEvolution &SE,
|
||||
CommonTTI.getPeelingPreferences(L, SE, PP);
|
||||
}
|
||||
|
||||
int GCNTTIImpl::get64BitInstrCost(TTI::TargetCostKind CostKind) const {
|
||||
return ST->hasHalfRate64Ops() ? getHalfRateInstrCost(CostKind)
|
||||
: getQuarterRateInstrCost(CostKind);
|
||||
}
|
||||
|
||||
R600TTIImpl::R600TTIImpl(const AMDGPUTargetMachine *TM, const Function &F)
|
||||
: BaseT(TM, F.getParent()->getDataLayout()),
|
||||
ST(static_cast<const R600Subtarget *>(TM->getSubtargetImpl(F))),
|
||||
|
@ -19,14 +19,18 @@
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "llvm/CodeGen/BasicTTIImpl.h"
|
||||
|
||||
namespace llvm {
|
||||
|
||||
class AMDGPUTargetLowering;
|
||||
class GCNSubtarget;
|
||||
class InstCombiner;
|
||||
class Loop;
|
||||
class R600Subtarget;
|
||||
class ScalarEvolution;
|
||||
class SITargetLowering;
|
||||
class Type;
|
||||
class Value;
|
||||
|
||||
@ -38,7 +42,7 @@ class AMDGPUTTIImpl final : public BasicTTIImplBase<AMDGPUTTIImpl> {
|
||||
|
||||
Triple TargetTriple;
|
||||
|
||||
const GCNSubtarget *ST;
|
||||
const TargetSubtargetInfo *ST;
|
||||
const TargetLoweringBase *TLI;
|
||||
|
||||
const TargetSubtargetInfo *getST() const { return ST; }
|
||||
@ -68,34 +72,10 @@ class GCNTTIImpl final : public BasicTTIImplBase<GCNTTIImpl> {
|
||||
bool HasFP64FP16Denormals;
|
||||
unsigned MaxVGPRs;
|
||||
|
||||
const FeatureBitset InlineFeatureIgnoreList = {
|
||||
// Codegen control options which don't matter.
|
||||
AMDGPU::FeatureEnableLoadStoreOpt,
|
||||
AMDGPU::FeatureEnableSIScheduler,
|
||||
AMDGPU::FeatureEnableUnsafeDSOffsetFolding,
|
||||
AMDGPU::FeatureFlatForGlobal,
|
||||
AMDGPU::FeaturePromoteAlloca,
|
||||
AMDGPU::FeatureUnalignedScratchAccess,
|
||||
AMDGPU::FeatureUnalignedAccessMode,
|
||||
|
||||
AMDGPU::FeatureAutoWaitcntBeforeBarrier,
|
||||
|
||||
// Property of the kernel/environment which can't actually differ.
|
||||
AMDGPU::FeatureSGPRInitBug,
|
||||
AMDGPU::FeatureXNACK,
|
||||
AMDGPU::FeatureTrapHandler,
|
||||
|
||||
// The default assumption needs to be ecc is enabled, but no directly
|
||||
// exposed operations depend on it, so it can be safely inlined.
|
||||
AMDGPU::FeatureSRAMECC,
|
||||
|
||||
// Perf-tuning features
|
||||
AMDGPU::FeatureFastFMAF32,
|
||||
AMDGPU::HalfRate64Ops
|
||||
};
|
||||
static const FeatureBitset InlineFeatureIgnoreList;
|
||||
|
||||
const GCNSubtarget *getST() const { return ST; }
|
||||
const AMDGPUTargetLowering *getTLI() const { return TLI; }
|
||||
const SITargetLowering *getTLI() const { return TLI; }
|
||||
|
||||
static inline int getFullRateInstrCost() {
|
||||
return TargetTransformInfo::TCC_Basic;
|
||||
@ -117,11 +97,8 @@ class GCNTTIImpl final : public BasicTTIImplBase<GCNTTIImpl> {
|
||||
|
||||
// On some parts, normal fp64 operations are half rate, and others
|
||||
// quarter. This also applies to some integer operations.
|
||||
inline int get64BitInstrCost(
|
||||
TTI::TargetCostKind CostKind = TTI::TCK_RecipThroughput) const {
|
||||
return ST->hasHalfRate64Ops() ? getHalfRateInstrCost(CostKind)
|
||||
: getQuarterRateInstrCost(CostKind);
|
||||
}
|
||||
int get64BitInstrCost(
|
||||
TTI::TargetCostKind CostKind = TTI::TCK_RecipThroughput) const;
|
||||
|
||||
public:
|
||||
explicit GCNTTIImpl(const AMDGPUTargetMachine *TM, const Function &F);
|
||||
|
@ -7,8 +7,9 @@
|
||||
//==-----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "R600RegisterInfo.h"
|
||||
#include "R600Subtarget.h"
|
||||
#include "llvm/ADT/SCCIterator.h"
|
||||
#include "llvm/ADT/Statistic.h"
|
||||
#include "llvm/CodeGen/MachineFunction.h"
|
||||
|
@ -38,7 +38,8 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "llvm/ADT/Statistic.h"
|
||||
#include "llvm/CodeGen/MachineFunctionPass.h"
|
||||
|
||||
|
@ -11,7 +11,8 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "GCNHazardRecognizer.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "llvm/CodeGen/MachineFunction.h"
|
||||
#include "llvm/CodeGen/ScheduleDAG.h"
|
||||
#include "llvm/Support/TargetParser.h"
|
||||
|
@ -12,7 +12,6 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "GCNIterativeScheduler.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSchedStrategy.h"
|
||||
#include "SIMachineFunctionInfo.h"
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "SIMachineFunctionInfo.h"
|
||||
#include "llvm/ADT/Statistic.h"
|
||||
#include "llvm/CodeGen/LiveIntervals.h"
|
||||
|
@ -31,7 +31,7 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "SIMachineFunctionInfo.h"
|
||||
#include "llvm/ADT/SmallSet.h"
|
||||
#include "llvm/ADT/Statistic.h"
|
||||
|
@ -12,7 +12,6 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "GCNRegPressure.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "llvm/CodeGen/RegisterPressure.h"
|
||||
|
||||
using namespace llvm;
|
||||
|
@ -17,7 +17,7 @@
|
||||
#ifndef LLVM_LIB_TARGET_AMDGPU_GCNREGPRESSURE_H
|
||||
#define LLVM_LIB_TARGET_AMDGPU_GCNREGPRESSURE_H
|
||||
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "llvm/CodeGen/LiveIntervals.h"
|
||||
#include <algorithm>
|
||||
|
||||
|
@ -12,7 +12,6 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "GCNSchedStrategy.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "SIMachineFunctionInfo.h"
|
||||
|
||||
#define DEBUG_TYPE "machine-scheduler"
|
||||
|
1059
lib/Target/AMDGPU/GCNSubtarget.h
Normal file
1059
lib/Target/AMDGPU/GCNSubtarget.h
Normal file
File diff suppressed because it is too large
Load Diff
@ -31,7 +31,7 @@ class Target;
|
||||
class Triple;
|
||||
class raw_pwrite_stream;
|
||||
|
||||
enum AMDGPUDwarfFlavour { Wave64 = 0, Wave32 = 1 };
|
||||
enum AMDGPUDwarfFlavour : unsigned { Wave64 = 0, Wave32 = 1 };
|
||||
|
||||
MCRegisterInfo *createGCNMCRegisterInfo(AMDGPUDwarfFlavour DwarfFlavour);
|
||||
|
||||
|
@ -15,9 +15,10 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "R600AsmPrinter.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "R600Defines.h"
|
||||
#include "R600MachineFunctionInfo.h"
|
||||
#include "R600Subtarget.h"
|
||||
#include "llvm/BinaryFormat/ELF.h"
|
||||
#include "llvm/MC/MCContext.h"
|
||||
#include "llvm/MC/MCSectionELF.h"
|
||||
|
@ -13,7 +13,8 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "R600Subtarget.h"
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
|
@ -13,8 +13,9 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "R600MachineFunctionInfo.h"
|
||||
#include "R600Subtarget.h"
|
||||
#include <set>
|
||||
|
||||
using namespace llvm;
|
||||
|
@ -14,8 +14,9 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "R600Defines.h"
|
||||
#include "R600Subtarget.h"
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
|
@ -14,8 +14,9 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "R600Defines.h"
|
||||
#include "R600Subtarget.h"
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
//==-----------------------------------------------------------------------===//
|
||||
|
||||
#include "R600FrameLowering.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "R600Subtarget.h"
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
|
@ -13,11 +13,11 @@
|
||||
|
||||
#include "R600ISelLowering.h"
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "R600Defines.h"
|
||||
#include "R600InstrInfo.h"
|
||||
#include "R600MachineFunctionInfo.h"
|
||||
#include "R600Subtarget.h"
|
||||
#include "llvm/IR/IntrinsicsAMDGPU.h"
|
||||
#include "llvm/IR/IntrinsicsR600.h"
|
||||
|
||||
|
@ -13,8 +13,9 @@
|
||||
|
||||
#include "R600InstrInfo.h"
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "R600Defines.h"
|
||||
#include "R600Subtarget.h"
|
||||
#include "llvm/ADT/SmallSet.h"
|
||||
|
||||
using namespace llvm;
|
||||
|
@ -12,7 +12,8 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "R600MachineScheduler.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "R600Subtarget.h"
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
|
@ -27,8 +27,9 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "R600Defines.h"
|
||||
#include "R600Subtarget.h"
|
||||
#include "llvm/CodeGen/MachineDominators.h"
|
||||
#include "llvm/CodeGen/MachineLoopInfo.h"
|
||||
|
||||
|
@ -14,7 +14,8 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "R600Subtarget.h"
|
||||
#include "llvm/CodeGen/DFAPacketizer.h"
|
||||
#include "llvm/CodeGen/MachineDominators.h"
|
||||
#include "llvm/CodeGen/MachineLoopInfo.h"
|
||||
|
@ -12,8 +12,9 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "R600RegisterInfo.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "R600Defines.h"
|
||||
#include "R600Subtarget.h"
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
|
174
lib/Target/AMDGPU/R600Subtarget.h
Normal file
174
lib/Target/AMDGPU/R600Subtarget.h
Normal file
@ -0,0 +1,174 @@
|
||||
//=====-- R600Subtarget.h - Define Subtarget for AMDGPU R600 ----*- 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
|
||||
//
|
||||
//==-----------------------------------------------------------------------===//
|
||||
//
|
||||
/// \file
|
||||
/// AMDGPU R600 specific subclass of TargetSubtarget.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef LLVM_LIB_TARGET_AMDGPU_R600SUBTARGET_H
|
||||
#define LLVM_LIB_TARGET_AMDGPU_R600SUBTARGET_H
|
||||
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "R600FrameLowering.h"
|
||||
#include "R600ISelLowering.h"
|
||||
#include "R600InstrInfo.h"
|
||||
#include "Utils/AMDGPUBaseInfo.h"
|
||||
#include "llvm/CodeGen/SelectionDAGTargetInfo.h"
|
||||
|
||||
namespace llvm {
|
||||
|
||||
class MCInst;
|
||||
class MCInstrInfo;
|
||||
|
||||
} // namespace llvm
|
||||
|
||||
#define GET_SUBTARGETINFO_HEADER
|
||||
#include "R600GenSubtargetInfo.inc"
|
||||
|
||||
namespace llvm {
|
||||
|
||||
class R600Subtarget final : public R600GenSubtargetInfo,
|
||||
public AMDGPUSubtarget {
|
||||
private:
|
||||
R600InstrInfo InstrInfo;
|
||||
R600FrameLowering FrameLowering;
|
||||
bool FMA;
|
||||
bool CaymanISA;
|
||||
bool CFALUBug;
|
||||
bool HasVertexCache;
|
||||
bool R600ALUInst;
|
||||
bool FP64;
|
||||
short TexVTXClauseSize;
|
||||
Generation Gen;
|
||||
R600TargetLowering TLInfo;
|
||||
InstrItineraryData InstrItins;
|
||||
SelectionDAGTargetInfo TSInfo;
|
||||
|
||||
public:
|
||||
R600Subtarget(const Triple &TT, StringRef CPU, StringRef FS,
|
||||
const TargetMachine &TM);
|
||||
|
||||
const R600InstrInfo *getInstrInfo() const override { return &InstrInfo; }
|
||||
|
||||
const R600FrameLowering *getFrameLowering() const override {
|
||||
return &FrameLowering;
|
||||
}
|
||||
|
||||
const R600TargetLowering *getTargetLowering() const override {
|
||||
return &TLInfo;
|
||||
}
|
||||
|
||||
const R600RegisterInfo *getRegisterInfo() const override {
|
||||
return &InstrInfo.getRegisterInfo();
|
||||
}
|
||||
|
||||
const InstrItineraryData *getInstrItineraryData() const override {
|
||||
return &InstrItins;
|
||||
}
|
||||
|
||||
// Nothing implemented, just prevent crashes on use.
|
||||
const SelectionDAGTargetInfo *getSelectionDAGInfo() const override {
|
||||
return &TSInfo;
|
||||
}
|
||||
|
||||
void ParseSubtargetFeatures(StringRef CPU, StringRef TuneCPU, StringRef FS);
|
||||
|
||||
Generation getGeneration() const {
|
||||
return Gen;
|
||||
}
|
||||
|
||||
Align getStackAlignment() const { return Align(4); }
|
||||
|
||||
R600Subtarget &initializeSubtargetDependencies(const Triple &TT,
|
||||
StringRef GPU, StringRef FS);
|
||||
|
||||
bool hasBFE() const {
|
||||
return (getGeneration() >= EVERGREEN);
|
||||
}
|
||||
|
||||
bool hasBFI() const {
|
||||
return (getGeneration() >= EVERGREEN);
|
||||
}
|
||||
|
||||
bool hasBCNT(unsigned Size) const {
|
||||
if (Size == 32)
|
||||
return (getGeneration() >= EVERGREEN);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool hasBORROW() const {
|
||||
return (getGeneration() >= EVERGREEN);
|
||||
}
|
||||
|
||||
bool hasCARRY() const {
|
||||
return (getGeneration() >= EVERGREEN);
|
||||
}
|
||||
|
||||
bool hasCaymanISA() const {
|
||||
return CaymanISA;
|
||||
}
|
||||
|
||||
bool hasFFBL() const {
|
||||
return (getGeneration() >= EVERGREEN);
|
||||
}
|
||||
|
||||
bool hasFFBH() const {
|
||||
return (getGeneration() >= EVERGREEN);
|
||||
}
|
||||
|
||||
bool hasFMA() const { return FMA; }
|
||||
|
||||
bool hasCFAluBug() const { return CFALUBug; }
|
||||
|
||||
bool hasVertexCache() const { return HasVertexCache; }
|
||||
|
||||
short getTexVTXClauseSize() const { return TexVTXClauseSize; }
|
||||
|
||||
bool enableMachineScheduler() const override {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool enableSubRegLiveness() const override {
|
||||
return true;
|
||||
}
|
||||
|
||||
/// \returns Maximum number of work groups per compute unit supported by the
|
||||
/// subtarget and limited by given \p FlatWorkGroupSize.
|
||||
unsigned getMaxWorkGroupsPerCU(unsigned FlatWorkGroupSize) const override {
|
||||
return AMDGPU::IsaInfo::getMaxWorkGroupsPerCU(this, FlatWorkGroupSize);
|
||||
}
|
||||
|
||||
/// \returns Minimum flat work group size supported by the subtarget.
|
||||
unsigned getMinFlatWorkGroupSize() const override {
|
||||
return AMDGPU::IsaInfo::getMinFlatWorkGroupSize(this);
|
||||
}
|
||||
|
||||
/// \returns Maximum flat work group size supported by the subtarget.
|
||||
unsigned getMaxFlatWorkGroupSize() const override {
|
||||
return AMDGPU::IsaInfo::getMaxFlatWorkGroupSize(this);
|
||||
}
|
||||
|
||||
/// \returns Number of waves per execution unit required to support the given
|
||||
/// \p FlatWorkGroupSize.
|
||||
unsigned
|
||||
getWavesPerEUForWorkGroup(unsigned FlatWorkGroupSize) const override {
|
||||
return AMDGPU::IsaInfo::getWavesPerEUForWorkGroup(this, FlatWorkGroupSize);
|
||||
}
|
||||
|
||||
/// \returns Minimum number of waves per execution unit supported by the
|
||||
/// subtarget.
|
||||
unsigned getMinWavesPerEU() const override {
|
||||
return AMDGPU::IsaInfo::getMinWavesPerEU(this);
|
||||
}
|
||||
};
|
||||
|
||||
} // end namespace llvm
|
||||
|
||||
#endif // LLVM_LIB_TARGET_AMDGPU_R600SUBTARGET_H
|
@ -16,7 +16,8 @@
|
||||
//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "llvm/CodeGen/MachineFunctionPass.h"
|
||||
|
||||
#define DEBUG_TYPE "si-img-init"
|
||||
|
@ -12,7 +12,7 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "llvm/Analysis/LegacyDivergenceAnalysis.h"
|
||||
#include "llvm/Analysis/LoopInfo.h"
|
||||
#include "llvm/CodeGen/TargetPassConfig.h"
|
||||
|
@ -65,7 +65,8 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "llvm/CodeGen/MachineDominators.h"
|
||||
#include "llvm/InitializePasses.h"
|
||||
#include "llvm/Target/TargetMachine.h"
|
||||
|
@ -12,7 +12,8 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "llvm/CodeGen/MachineFunctionPass.h"
|
||||
|
||||
using namespace llvm;
|
||||
|
@ -9,7 +9,8 @@
|
||||
//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "SIMachineFunctionInfo.h"
|
||||
#include "llvm/ADT/DepthFirstIterator.h"
|
||||
#include "llvm/CodeGen/MachineFunctionPass.h"
|
||||
|
@ -14,7 +14,6 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNRegPressure.h"
|
||||
#include "SIMachineFunctionInfo.h"
|
||||
#include "llvm/InitializePasses.h"
|
||||
|
@ -8,7 +8,8 @@
|
||||
|
||||
#include "SIFrameLowering.h"
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "SIMachineFunctionInfo.h"
|
||||
#include "llvm/CodeGen/LivePhysRegs.h"
|
||||
#include "llvm/CodeGen/MachineFrameInfo.h"
|
||||
|
@ -14,7 +14,6 @@
|
||||
#include "SIISelLowering.h"
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUInstrInfo.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "AMDGPUTargetMachine.h"
|
||||
#include "SIMachineFunctionInfo.h"
|
||||
#include "SIRegisterInfo.h"
|
||||
|
@ -32,7 +32,8 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
|
||||
using namespace llvm;
|
||||
|
@ -14,7 +14,8 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "llvm/ADT/DepthFirstIterator.h"
|
||||
#include "llvm/CodeGen/MachineDominators.h"
|
||||
#include "llvm/InitializePasses.h"
|
||||
|
@ -24,7 +24,8 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "SIMachineFunctionInfo.h"
|
||||
#include "llvm/ADT/MapVector.h"
|
||||
#include "llvm/ADT/PostOrderIterator.h"
|
||||
|
@ -14,8 +14,9 @@
|
||||
#include "SIInstrInfo.h"
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUInstrInfo.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNHazardRecognizer.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "SIMachineFunctionInfo.h"
|
||||
#include "llvm/Analysis/ValueTracking.h"
|
||||
#include "llvm/CodeGen/LiveVariables.h"
|
||||
|
@ -58,7 +58,8 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "llvm/Analysis/AliasAnalysis.h"
|
||||
#include "llvm/CodeGen/MachineFunctionPass.h"
|
||||
#include "llvm/InitializePasses.h"
|
||||
|
@ -48,7 +48,8 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "llvm/ADT/SmallSet.h"
|
||||
#include "llvm/CodeGen/LiveIntervals.h"
|
||||
#include "llvm/CodeGen/MachineFunctionPass.h"
|
||||
|
@ -22,7 +22,8 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "llvm/CodeGen/MachineDominators.h"
|
||||
#include "llvm/CodeGen/MachineFunctionPass.h"
|
||||
#include "llvm/CodeGen/MachinePostDominators.h"
|
||||
|
@ -16,7 +16,8 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "SIMachineFunctionInfo.h"
|
||||
#include "llvm/CodeGen/LiveIntervals.h"
|
||||
#include "llvm/CodeGen/RegisterScavenging.h"
|
||||
|
@ -8,7 +8,6 @@
|
||||
|
||||
#include "SIMachineFunctionInfo.h"
|
||||
#include "AMDGPUTargetMachine.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
|
||||
#define MAX_LANES 64
|
||||
|
||||
|
@ -15,7 +15,8 @@
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUMachineModuleInfo.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "llvm/ADT/BitmaskEnum.h"
|
||||
#include "llvm/CodeGen/MachineBasicBlock.h"
|
||||
#include "llvm/IR/DiagnosticInfo.h"
|
||||
|
@ -14,7 +14,8 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "llvm/ADT/Statistic.h"
|
||||
#include <queue>
|
||||
|
||||
|
@ -7,7 +7,8 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "llvm/CodeGen/MachineFunctionPass.h"
|
||||
#include "llvm/InitializePasses.h"
|
||||
|
||||
|
@ -13,7 +13,8 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "llvm/CodeGen/LiveIntervals.h"
|
||||
#include "llvm/CodeGen/MachineFunctionPass.h"
|
||||
#include "llvm/InitializePasses.h"
|
||||
|
@ -20,7 +20,8 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "llvm/ADT/MapVector.h"
|
||||
#include "llvm/ADT/Statistic.h"
|
||||
#include "llvm/CodeGen/MachineFunctionPass.h"
|
||||
|
@ -13,7 +13,7 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "llvm/ADT/SmallSet.h"
|
||||
#include "llvm/CodeGen/MachineFunctionPass.h"
|
||||
|
||||
|
@ -12,7 +12,8 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "SIMachineFunctionInfo.h"
|
||||
#include "llvm/ADT/PostOrderIterator.h"
|
||||
#include "llvm/CodeGen/LiveIntervals.h"
|
||||
|
@ -12,7 +12,8 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "SIMachineFunctionInfo.h"
|
||||
#include "llvm/CodeGen/MachineFunctionPass.h"
|
||||
|
||||
|
@ -14,12 +14,14 @@
|
||||
#include "SIRegisterInfo.h"
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPURegisterBankInfo.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUInstPrinter.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "SIMachineFunctionInfo.h"
|
||||
#include "llvm/CodeGen/LiveIntervals.h"
|
||||
#include "llvm/CodeGen/MachineDominators.h"
|
||||
#include "llvm/CodeGen/RegisterScavenging.h"
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
#define GET_REGINFO_TARGET_DESC
|
||||
|
@ -14,7 +14,8 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "llvm/CodeGen/MachineFunctionPass.h"
|
||||
#include "llvm/Support/CommandLine.h"
|
||||
|
||||
|
@ -9,7 +9,8 @@
|
||||
//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "llvm/ADT/Statistic.h"
|
||||
#include "llvm/CodeGen/MachineFunctionPass.h"
|
||||
|
||||
|
@ -56,7 +56,8 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "llvm/ADT/MapVector.h"
|
||||
#include "llvm/ADT/PostOrderIterator.h"
|
||||
#include "llvm/CodeGen/LiveIntervals.h"
|
||||
|
@ -9,8 +9,9 @@
|
||||
#include "AMDGPUBaseInfo.h"
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPUAsmUtils.h"
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "AMDKernelCodeT.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "llvm/BinaryFormat/ELF.h"
|
||||
#include "llvm/IR/Attributes.h"
|
||||
#include "llvm/IR/Function.h"
|
||||
|
@ -6,8 +6,9 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "AMDGPUSubtarget.h"
|
||||
#include "AMDGPUTargetMachine.h"
|
||||
#include "GCNSubtarget.h"
|
||||
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
|
||||
#include "llvm/CodeGen/MachineModuleInfo.h"
|
||||
#include "llvm/CodeGen/TargetSubtargetInfo.h"
|
||||
#include "llvm/MC/MCTargetOptions.h"
|
||||
|
Loading…
Reference in New Issue
Block a user