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

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

lib/Target/R600/AMDGPUSubtarget.cpp
lib/Target/R600/AMDGPUSubtarget.h
lib/Target/R600/AMDGPUTargetMachine.cpp

index b892e7e1d1081ae6b9a428a4acf0eb668e4714f2..51d9eadbafe6de381948386343bbe3c2d75e2b0f 100644 (file)
@@ -87,33 +87,6 @@ AMDGPUSubtarget::getDefaultSize(uint32_t dim) const {
   }
 }
 
-std::string
-AMDGPUSubtarget::getDataLayout() const {
-  std::string DataLayout = std::string(
-   "e"
-   "-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32"
-   "-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128"
-   "-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048"
-   "-n32:64"
-  );
-
-  if (hasHWFP64()) {
-    DataLayout.append("-f64:64:64");
-  }
-
-  if (is64bit()) {
-    DataLayout.append("-p:64:64:64");
-  } else {
-    DataLayout.append("-p:32:32:32");
-  }
-
-  if (Gen >= AMDGPUSubtarget::SOUTHERN_ISLANDS) {
-    DataLayout.append("-p3:32:32:32");
-  }
-
-  return DataLayout;
-}
-
 std::string
 AMDGPUSubtarget::getDeviceName() const {
   return DevName;
index 4288d275c99e8004360fb433acbf121709a4f7ec..060571e26b92581bfca47a7771eabd705233a669 100644 (file)
@@ -75,7 +75,6 @@ public:
 
   // Helper functions to simplify if statements
   bool isTargetELF() const;
-  std::string getDataLayout() const;
   std::string getDeviceName() const;
   virtual size_t getDefaultSize(uint32_t dim) const;
   bool dumpCode() const { return DumpCode; }
index 2d2bed062a514d7a3f1fead83c0ba968f56a564e..762a17ae071a6df638f3a6704c4de2f4deae1380 100644 (file)
@@ -49,6 +49,29 @@ static MachineSchedRegistry
 SchedCustomRegistry("r600", "Run R600's custom scheduler",
                     createR600MachineScheduler);
 
+static std::string computeDataLayout(const AMDGPUSubtarget &ST) {
+  std::string DataLayout = std::string(
+   "e"
+   "-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32"
+   "-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128"
+   "-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048"
+   "-n32:64"
+  );
+
+  if (ST.hasHWFP64())
+    DataLayout.append("-f64:64:64");
+
+  if (ST.is64bit())
+    DataLayout.append("-p:64:64:64");
+  else
+    DataLayout.append("-p:32:32:32");
+
+  if (ST.getGeneration() >= AMDGPUSubtarget::SOUTHERN_ISLANDS)
+    DataLayout.append("-p3:32:32:32");
+
+  return DataLayout;
+}
+
 AMDGPUTargetMachine::AMDGPUTargetMachine(const Target &T, StringRef TT,
     StringRef CPU, StringRef FS,
   TargetOptions Options,
@@ -58,7 +81,7 @@ AMDGPUTargetMachine::AMDGPUTargetMachine(const Target &T, StringRef TT,
 :
   LLVMTargetMachine(T, TT, CPU, FS, Options, RM, CM, OptLevel),
   Subtarget(TT, CPU, FS),
-  Layout(Subtarget.getDataLayout()),
+  Layout(computeDataLayout(Subtarget)),
   FrameLowering(TargetFrameLowering::StackGrowsUp,
                 64 * 16 // Maximum stack alignment (long16)
                , 0),