"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
Gen = AMDGPUSubtarget::R600;
FP64 = false;
CaymanISA = false;
- EnableIRStructurizer = false;
+ EnableIRStructurizer = true;
EnableIfCvt = true;
ParseSubtargetFeatures(GPU, FS);
DevName = GPU;
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());
;RUN: llc < %s -march=r600 -mcpu=redwood | FileCheck %s
-; CHECK: JUMP @5
+; CHECK: JUMP @3
; CHECK: EXPORT
; CHECK-NOT: EXPORT
-; 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.
-; 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