diff options
author | Tom Stellard <thomas.stellard@amd.com> | 2015-01-28 16:04:26 +0000 |
---|---|---|
committer | Tom Stellard <thomas.stellard@amd.com> | 2015-01-28 16:04:26 +0000 |
commit | 40ce8af4a5750cb7b35c3bf588b87820a6bb8ce7 (patch) | |
tree | b9119f4ebe3ad7e2774ea3deee6db79bfa87ee8c /llvm/lib/Target/R600/AMDGPUSubtarget.cpp | |
parent | d99fb956a3c8554a6701d52e1e78f60c21155011 (diff) | |
download | bcm5719-llvm-40ce8af4a5750cb7b35c3bf588b87820a6bb8ce7.tar.gz bcm5719-llvm-40ce8af4a5750cb7b35c3bf588b87820a6bb8ce7.zip |
R600: Move DataLayout to AMDGPUTargetMachine
This is a follow up to r227113.
It is now required to use the amdgcn target for SI and newer GPUs.
llvm-svn: 227316
Diffstat (limited to 'llvm/lib/Target/R600/AMDGPUSubtarget.cpp')
-rw-r--r-- | llvm/lib/Target/R600/AMDGPUSubtarget.cpp | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/llvm/lib/Target/R600/AMDGPUSubtarget.cpp b/llvm/lib/Target/R600/AMDGPUSubtarget.cpp index b5c1af451fc..39cc383c89e 100644 --- a/llvm/lib/Target/R600/AMDGPUSubtarget.cpp +++ b/llvm/lib/Target/R600/AMDGPUSubtarget.cpp @@ -59,20 +59,6 @@ AMDGPUSubtarget::initializeSubtargetDependencies(StringRef TT, StringRef GPU, St return *this; } -static std::string computeDataLayout(const AMDGPUSubtarget &ST) { - std::string Ret = "e-p:32:32"; - - if (ST.is64bit()) { - // 32-bit private, local, and region pointers. 64-bit global and constant. - Ret += "-p1:64:64-p2:64:64-p3:32:32-p4:64:64-p5:32:32-p24:64:64"; - } - - Ret += "-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256" - "-v512:512-v1024:1024-v2048:2048-n32:64"; - - return Ret; -} - AMDGPUSubtarget::AMDGPUSubtarget(StringRef TT, StringRef GPU, StringRef FS, TargetMachine &TM) : AMDGPUGenSubtargetInfo(TT, GPU, FS), DevName(GPU), Is64bit(false), @@ -83,12 +69,14 @@ AMDGPUSubtarget::AMDGPUSubtarget(StringRef TT, StringRef GPU, StringRef FS, EnablePromoteAlloca(false), EnableIfCvt(true), EnableLoadStoreOpt(false), WavefrontSize(0), CFALUBug(false), LocalMemorySize(0), EnableVGPRSpilling(false), - DL(computeDataLayout(initializeSubtargetDependencies(TT, GPU, FS))), FrameLowering(TargetFrameLowering::StackGrowsUp, 64 * 16, // Maximum stack alignment (long16) 0), InstrItins(getInstrItineraryForCPU(GPU)), TargetTriple(TT) { + + initializeSubtargetDependencies(TT, GPU, FS); + if (getGeneration() <= AMDGPUSubtarget::NORTHERN_ISLANDS) { InstrInfo.reset(new R600InstrInfo(*this)); TLInfo.reset(new R600TargetLowering(TM)); |