R600 -> AMDGPU rename
[oota-llvm.git] / test / CodeGen / R600 / structurize.ll
diff --git a/test/CodeGen/R600/structurize.ll b/test/CodeGen/R600/structurize.ll
deleted file mode 100644 (file)
index 02e592e..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-; 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
-;                           /     \
-;               diamond_head       branch_from
-;                 /      \           |
-;    diamond_false        diamond_true
-;                 \      /
-;                   done
-;
-; When the diamond_true branch had more than 100 instructions.
-;
-;
-
-; CHECK-LABEL: {{^}}branch_into_diamond:
-; === entry block:
-; CHECK: ALU_PUSH_BEFORE
-; === Branch instruction (IF):
-; CHECK: JUMP
-  ; === branch_from block
-  ; CHECK: ALU
-  ; === Duplicated diamond_true block (There can be more than one ALU clause):
-  ; === XXX: We should be able to optimize this so the basic block is not
-  ; === duplicated.  See comments in
-  ; === AMDGPUCFGStructurizer::improveSimpleJumpintoIf()
-  ; CHECK: ALU
-; === Branch instruction (ELSE):
-; CHECK: ELSE
-  ; === diamond_head block:
-  ; CHECK: ALU_PUSH_BEFORE
-  ; === Branch instruction (IF):
-  ; CHECK: JUMP
-    ; === diamond_true block (There can be more than one ALU clause):
-    ; ALU
-  ; === Branch instruction (ELSE):
-  ; CHECK: ELSE
-    ; === diamond_false block plus implicit ENDIF
-    ; CHECK: ALU_POP_AFTER
-; === Branch instruction (ENDIF):
-; CHECK: POP
-; === done block:
-; CHECK: ALU
-; CHECK: MEM_RAT_CACHELESS
-; CHECK: CF_END
-
-
-define void @branch_into_diamond(i32 addrspace(1)* %out, i32 %a, i32 %b, i32 %c) {
-entry:
-%0 = icmp ne i32 %a, 0
-  br i1 %0, label %diamond_head, label %branch_from
-
-diamond_head:
-  %1 = icmp ne i32 %a, 1
-  br i1 %1, label %diamond_true, label %diamond_false
-
-branch_from:
-  %2 = add i32 %a, 1
-  br label %diamond_true
-
-diamond_false:
-  %3 = add i32 %a, 2
-  br label %done
-
-diamond_true:
-  %4 = phi i32 [%2, %branch_from], [%a, %diamond_head]
-  ; This block needs to be > 100 ISA instructions to hit the bug,
-  ; so we'll use udiv instructions.
-  %div0 = udiv i32 %a, %b
-  %div1 = udiv i32 %div0, %4
-  %div2 = udiv i32 %div1, 11
-  %div3 = udiv i32 %div2, %a
-  %div4 = udiv i32 %div3, %b
-  %div5 = udiv i32 %div4, %c
-  %div6 = udiv i32 %div5, %div0
-  %div7 = udiv i32 %div6, %div1
-  br label %done
-
-done:
-  %5 = phi i32 [%3, %diamond_false], [%div7, %diamond_true]
-  store i32 %5, i32 addrspace(1)* %out
-  ret void
-}