AMDGPU: Fix a few slightly broken tests

Fix minor bugs and uses of undef which break when
pointer related optimization passes are run.

llvm-svn: 269944
diff --git a/llvm/test/CodeGen/AMDGPU/cayman-loop-bug.ll b/llvm/test/CodeGen/AMDGPU/cayman-loop-bug.ll
index 694d922..34e6669 100644
--- a/llvm/test/CodeGen/AMDGPU/cayman-loop-bug.ll
+++ b/llvm/test/CodeGen/AMDGPU/cayman-loop-bug.ll
@@ -11,20 +11,26 @@
 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
 }