diff options
Diffstat (limited to 'test/CodeGen/AMDGPU/cayman-loop-bug.ll')
-rw-r--r-- | test/CodeGen/AMDGPU/cayman-loop-bug.ll | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/test/CodeGen/AMDGPU/cayman-loop-bug.ll b/test/CodeGen/AMDGPU/cayman-loop-bug.ll index c7b8c4037316b..34e6669434f1b 100644 --- a/test/CodeGen/AMDGPU/cayman-loop-bug.ll +++ b/test/CodeGen/AMDGPU/cayman-loop-bug.ll @@ -8,25 +8,29 @@ ; CHECK-NOT: ALU_PUSH_BEFORE ; CHECK: END_LOOP ; CHECK: END_LOOP -define void @main (<4 x float> inreg %reg0) #0 { +define amdgpu_ps void @main (<4 x float> inreg %reg0) { entry: br label %outer_loop + outer_loop: %cnt = phi i32 [0, %entry], [%cnt_incr, %inner_loop] %cond = icmp eq i32 %cnt, 16 br i1 %cond, label %outer_loop_body, label %exit + outer_loop_body: %cnt_incr = add i32 %cnt, 1 br label %inner_loop + inner_loop: %cnt2 = phi i32 [0, %outer_loop_body], [%cnt2_incr, %inner_loop_body] - %cond2 = icmp eq i32 %cnt2, 16 - br i1 %cond, label %inner_loop_body, label %outer_loop + %n = load volatile i32, i32 addrspace(1)* undef + %cond2 = icmp slt i32 %cnt2, %n + br i1 %cond2, label %inner_loop_body, label %outer_loop + inner_loop_body: %cnt2_incr = add i32 %cnt2, 1 br label %inner_loop + exit: ret void } - -attributes #0 = { "ShaderType"="0" }
\ No newline at end of file |