diff options
author | Eric Christopher <echristo@gmail.com> | 2014-07-25 22:22:39 +0000 |
---|---|---|
committer | Eric Christopher <echristo@gmail.com> | 2014-07-25 22:22:39 +0000 |
commit | ac4b69e40bfebe502c8bee936539b352b0c14fa2 (patch) | |
tree | 54a5db122bb00b07484bb20b3dc8b32ddd955d12 /llvm/lib/Target/R600/AMDGPUTargetMachine.cpp | |
parent | b2ebf2a08b1c1bf1f7629a7ff6c1c28d38058e21 (diff) | |
download | llvm-ac4b69e40bfebe502c8bee936539b352b0c14fa2.zip llvm-ac4b69e40bfebe502c8bee936539b352b0c14fa2.tar.gz llvm-ac4b69e40bfebe502c8bee936539b352b0c14fa2.tar.bz2 |
Move R600 subtarget dependent variables onto the subtarget.
No functional change.
llvm-svn: 213982
Diffstat (limited to 'llvm/lib/Target/R600/AMDGPUTargetMachine.cpp')
-rw-r--r-- | llvm/lib/Target/R600/AMDGPUTargetMachine.cpp | 40 |
1 files changed, 6 insertions, 34 deletions
diff --git a/llvm/lib/Target/R600/AMDGPUTargetMachine.cpp b/llvm/lib/Target/R600/AMDGPUTargetMachine.cpp index 56ba719..c5515e6 100644 --- a/llvm/lib/Target/R600/AMDGPUTargetMachine.cpp +++ b/llvm/lib/Target/R600/AMDGPUTargetMachine.cpp @@ -48,41 +48,13 @@ static MachineSchedRegistry SchedCustomRegistry("r600", "Run R600's custom scheduler", createR600MachineScheduler); -static std::string computeDataLayout(const AMDGPUSubtarget &ST) { - std::string Ret = "e-p:32:32"; - - if (ST.is64bit()) { - // 32-bit local, and region pointers. 64-bit private, 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; -} - AMDGPUTargetMachine::AMDGPUTargetMachine(const Target &T, StringRef TT, - StringRef CPU, StringRef FS, - TargetOptions Options, - Reloc::Model RM, CodeModel::Model CM, - CodeGenOpt::Level OptLevel -) -: - LLVMTargetMachine(T, TT, CPU, FS, Options, RM, CM, OptLevel), - Subtarget(TT, CPU, FS), - Layout(computeDataLayout(Subtarget)), - FrameLowering(TargetFrameLowering::StackGrowsUp, - 64 * 16 // Maximum stack alignment (long16) - , 0), - IntrinsicInfo(this), - InstrItins(&Subtarget.getInstrItineraryData()) { - // TLInfo uses InstrInfo so it must be initialized after. - if (Subtarget.getGeneration() <= AMDGPUSubtarget::NORTHERN_ISLANDS) { - TLInfo.reset(new R600TargetLowering(*this)); - } else { - TLInfo.reset(new SITargetLowering(*this)); - } + StringRef CPU, StringRef FS, + TargetOptions Options, Reloc::Model RM, + CodeModel::Model CM, + CodeGenOpt::Level OptLevel) + : LLVMTargetMachine(T, TT, CPU, FS, Options, RM, CM, OptLevel), + Subtarget(TT, CPU, FS, *this) { setRequiresStructuredCFG(true); initAsmInfo(); } |