mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-10 18:34:09 +00:00
R600: Create an R600TargetMachine for pre-gcn GPUs
No functinality change. R600TargetMachine inherits from AMDGPUTargetMachine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228849 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
946f5e91ef
commit
5b98db607b
@ -39,7 +39,7 @@ using namespace llvm;
|
||||
|
||||
extern "C" void LLVMInitializeR600Target() {
|
||||
// Register the target
|
||||
RegisterTargetMachine<AMDGPUTargetMachine> X(TheAMDGPUTarget);
|
||||
RegisterTargetMachine<R600TargetMachine> X(TheAMDGPUTarget);
|
||||
RegisterTargetMachine<GCNTargetMachine> Y(TheGCNTarget);
|
||||
}
|
||||
|
||||
@ -83,6 +83,29 @@ AMDGPUTargetMachine::~AMDGPUTargetMachine() {
|
||||
delete TLOF;
|
||||
}
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// R600 Target Machine (R600 -> Cayman)
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
R600TargetMachine::R600TargetMachine(const Target &T, StringRef TT, StringRef FS,
|
||||
StringRef CPU, TargetOptions Options, Reloc::Model RM,
|
||||
CodeModel::Model CM, CodeGenOpt::Level OL) :
|
||||
AMDGPUTargetMachine(T, TT, FS, CPU, Options, RM, CM, OL) { }
|
||||
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// GCN Target Machine (SI+)
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
GCNTargetMachine::GCNTargetMachine(const Target &T, StringRef TT, StringRef FS,
|
||||
StringRef CPU, TargetOptions Options, Reloc::Model RM,
|
||||
CodeModel::Model CM, CodeGenOpt::Level OL) :
|
||||
AMDGPUTargetMachine(T, TT, FS, CPU, Options, RM, CM, OL) { }
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// AMDGPU Pass Setup
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
namespace {
|
||||
class AMDGPUPassConfig : public TargetPassConfig {
|
||||
public:
|
||||
@ -116,10 +139,6 @@ TargetPassConfig *AMDGPUTargetMachine::createPassConfig(PassManagerBase &PM) {
|
||||
return new AMDGPUPassConfig(this, PM);
|
||||
}
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// AMDGPU Pass Setup
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
TargetIRAnalysis AMDGPUTargetMachine::getTargetIRAnalysis() {
|
||||
return TargetIRAnalysis(
|
||||
[this](Function &F) { return TargetTransformInfo(AMDGPUTTIImpl(this)); });
|
||||
@ -234,13 +253,3 @@ void AMDGPUPassConfig::addPreEmitPass() {
|
||||
addPass(createSILowerControlFlowPass(*TM), false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// GCN Target Machine (SI+)
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
GCNTargetMachine::GCNTargetMachine(const Target &T, StringRef TT, StringRef FS,
|
||||
StringRef CPU, TargetOptions Options, Reloc::Model RM,
|
||||
CodeModel::Model CM, CodeGenOpt::Level OL) :
|
||||
AMDGPUTargetMachine(T, TT, FS, CPU, Options, RM, CM, OL) { }
|
||||
|
@ -62,6 +62,18 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// R600 Target Machine (R600 -> Cayman)
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
class R600TargetMachine : public AMDGPUTargetMachine {
|
||||
|
||||
public:
|
||||
R600TargetMachine(const Target &T, StringRef TT, StringRef FS,
|
||||
StringRef CPU, TargetOptions Options, Reloc::Model RM,
|
||||
CodeModel::Model CM, CodeGenOpt::Level OL);
|
||||
};
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// GCN Target Machine (SI+)
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
Loading…
x
Reference in New Issue
Block a user