Turn NVPTXSubtarget::getDataLayout into a static function.
authorRafael Espindola <rafael.espindola@gmail.com>
Sat, 14 Dec 2013 06:36:30 +0000 (06:36 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Sat, 14 Dec 2013 06:36:30 +0000 (06:36 +0000)
No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197311 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/NVPTX/NVPTXSubtarget.h
lib/Target/NVPTX/NVPTXTargetMachine.cpp

index 004be116a96c12de0802a1ce5c839ec9efefb580..f99bebd6ce121643f8ab1907c522c85b288655fe 100644 (file)
@@ -74,21 +74,6 @@ public:
   unsigned getPTXVersion() const { return PTXVersion; }
 
   void ParseSubtargetFeatures(StringRef CPU, StringRef FS);
-
-  std::string getDataLayout() const {
-    const char *p;
-    if (is64Bit())
-      p = "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";
-    else
-      p = "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";
-
-    return std::string(p);
-  }
-
 };
 
 } // End llvm namespace
index 46edd6d83f659c24b26c9af18ebb30c09a54f9e5..871e36d2935f87ff6a836210d49db46d6a55ef29 100644 (file)
@@ -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)*/ {