summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-12-14 06:36:30 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-12-14 06:36:30 +0000
commit307d7abc7f61fa7f6cd63d2d6867052c94d03717 (patch)
tree347f816a60eb4cc2a6acaf56d496a6c2da8afa85 /llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
parentceb0c4962ad60f4e106b6e68e8b3f919eb071f95 (diff)
downloadbcm5719-llvm-307d7abc7f61fa7f6cd63d2d6867052c94d03717.tar.gz
bcm5719-llvm-307d7abc7f61fa7f6cd63d2d6867052c94d03717.zip
Turn NVPTXSubtarget::getDataLayout into a static function.
No functionality change. llvm-svn: 197311
Diffstat (limited to 'llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp')
-rw-r--r--llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp b/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
index 46edd6d83f6..871e36d2935 100644
--- a/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
+++ b/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
@@ -63,12 +63,22 @@ extern "C" void LLVMInitializeNVPTXTarget() {
initializeGenericToNVVMPass(*PassRegistry::getPassRegistry());
}
+static std::string computeDataLayout(const NVPTXSubtarget &ST) {
+ if (ST.is64Bit())
+ return "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-"
+ "f32:32:32-f64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-"
+ "n16:32:64";
+ return "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-"
+ "f32:32:32-f64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-"
+ "n16:32:64";
+}
+
NVPTXTargetMachine::NVPTXTargetMachine(
const Target &T, StringRef TT, StringRef CPU, StringRef FS,
const TargetOptions &Options, Reloc::Model RM, CodeModel::Model CM,
CodeGenOpt::Level OL, bool is64bit)
: LLVMTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL),
- Subtarget(TT, CPU, FS, is64bit), DL(Subtarget.getDataLayout()),
+ Subtarget(TT, CPU, FS, is64bit), DL(computeDataLayout(Subtarget)),
InstrInfo(*this), TLInfo(*this), TSInfo(*this),
FrameLowering(
*this, is64bit) /*FrameInfo(TargetFrameInfo::StackGrowsUp, 8, 0)*/ {
OpenPOWER on IntegriCloud