]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - opencl/llvm.git/commitdiff
R600: Enable the IR structurizer by default
authorTom Stellard <thomas.stellard@amd.com>
Mon, 18 Nov 2013 19:43:44 +0000 (19:43 +0000)
committerTom Stellard <thomas.stellard@amd.com>
Mon, 18 Nov 2013 19:43:44 +0000 (19:43 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195031 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/R600/AMDGPU.td
lib/Target/R600/AMDGPUSubtarget.cpp
lib/Target/R600/AMDGPUTargetMachine.cpp
test/CodeGen/R600/jump-address.ll
test/CodeGen/R600/predicates.ll
test/CodeGen/R600/structurize.ll

index 37ff6b143a03266623947581ab60db47af6ec695..182235b27c48d1898c2b89f01c3631e7dacf73fe 100644 (file)
@@ -21,10 +21,10 @@ def FeatureDumpCode : SubtargetFeature <"DumpCode",
         "true",
         "Dump MachineInstrs in the CodeEmitter">;
 
-def FeatureIRStructurizer : SubtargetFeature <"enable-irstructurizer",
+def FeatureIRStructurizer : SubtargetFeature <"disable-irstructurizer",
         "EnableIRStructurizer",
-        "true",
-        "Enable IR Structurizer">;
+        "false",
+        "Disable IR Structurizer">;
 
 // Target features
 
index 4e97e6e83bb8bfb6e98b76da6cf7de9cd450e60b..061793a68b9dc1b194b2520a3106b98fbe733ee7 100644 (file)
@@ -36,7 +36,7 @@ AMDGPUSubtarget::AMDGPUSubtarget(StringRef TT, StringRef CPU, StringRef FS) :
   Gen = AMDGPUSubtarget::R600;
   FP64 = false;
   CaymanISA = false;
-  EnableIRStructurizer = false;
+  EnableIRStructurizer = true;
   EnableIfCvt = true;
   ParseSubtargetFeatures(GPU, FS);
   DevName = GPU;
index 9186c9df3abf89c71bf0f363dada6b84f6766314..bc4f5d720ae20a642eef5ec085addf567cd90bd8 100644 (file)
@@ -125,8 +125,7 @@ bool
 AMDGPUPassConfig::addPreISel() {
   const AMDGPUSubtarget &ST = TM->getSubtarget<AMDGPUSubtarget>();
   addPass(createFlattenCFGPass());
-  if (ST.IsIRStructurizerEnabled() ||
-      ST.getGeneration() > AMDGPUSubtarget::NORTHERN_ISLANDS)
+  if (ST.IsIRStructurizerEnabled())
     addPass(createStructurizeCFGPass());
   if (ST.getGeneration() > AMDGPUSubtarget::NORTHERN_ISLANDS) {
     addPass(createSinkingPass());
index 26c298b9d819871d55860741f4bcaa85bc141ac8..ae9c8bba4fd67b73ab44b295cd64c9b878c37f61 100644 (file)
@@ -1,6 +1,6 @@
 ;RUN: llc < %s -march=r600 -mcpu=redwood | FileCheck %s
 
-; CHECK: JUMP @5
+; CHECK: JUMP @3
 ; CHECK: EXPORT
 ; CHECK-NOT: EXPORT
 
index 0d3eeef2630726509a5cf60cc71d966d2aa7507e..902508ff9e05e3ff0c9f30e1f089c6c291b49abe 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llc < %s -march=r600 -mcpu=redwood | FileCheck %s
+; RUN: llc < %s -march=r600 -mattr=disable-irstructurizer -mcpu=redwood | FileCheck %s
 
 ; These tests make sure the compiler is optimizing branches using predicates
 ; when it is legal to do so.
index b95561943c7951571df2194fd49d514643ed4b75..c2acd938ad053f7e555fca7778763f27b9741063 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llc < %s -march=r600 -mcpu=redwood | FileCheck %s
+; RUN: llc < %s -march=r600 -mcpu=redwood -mattr=disable-irstructurizer | FileCheck %s
 ; Test case for a crash in the AMDILCFGStructurizer from a CFG like this:
 ;
 ;                            entry