Add two new calling conventions for runtime calls
[oota-llvm.git] / lib / Target / R600 / AMDGPUSubtarget.cpp
index 53cfe84e352d78cb36fbf4bf79677f4cf0166eb1..51d9eadbafe6de381948386343bbe3c2d75e2b0f 100644 (file)
@@ -36,6 +36,8 @@ AMDGPUSubtarget::AMDGPUSubtarget(StringRef TT, StringRef CPU, StringRef FS) :
   Gen = AMDGPUSubtarget::R600;
   FP64 = false;
   CaymanISA = false;
+  EnableIRStructurizer = true;
+  EnableIfCvt = true;
   ParseSubtargetFeatures(GPU, FS);
   DevName = GPU;
 }
@@ -65,45 +67,26 @@ AMDGPUSubtarget::hasCaymanISA() const {
   return CaymanISA;
 }
 bool
+AMDGPUSubtarget::IsIRStructurizerEnabled() const {
+  return EnableIRStructurizer;
+}
+bool
+AMDGPUSubtarget::isIfCvtEnabled() const {
+  return EnableIfCvt;
+}
+bool
 AMDGPUSubtarget::isTargetELF() const {
   return false;
 }
 size_t
 AMDGPUSubtarget::getDefaultSize(uint32_t dim) const {
-  if (dim > 3) {
+  if (dim > 2) {
     return 1;
   } else {
     return DefaultSize[dim];
   }
 }
 
-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;