Verifier: Remove unnecessary double-checks
[oota-llvm.git] / test / Transforms / IRCE / with-parent-loops.ll
index f8d6c83ecaef51fd98c9c3611bcdfd196d9fea82..00af20b964f853a1b14de36f614fff60cabcf57f 100644 (file)
@@ -8,7 +8,7 @@ define void @inner_loop(i32* %arr, i32* %a_len_ptr, i32 %n) #0 {
 ; CHECK: irce: in function inner_loop: constrained Loop at depth 1 containing: %loop<header><exiting>,%in.bounds<latch><exiting>
 
 entry:
-  %len = load i32* %a_len_ptr, !range !0
+  %len = load i32, i32* %a_len_ptr, !range !0
   %first.itr.check = icmp sgt i32 %n, 0
   br i1 %first.itr.check, label %loop, label %exit
 
@@ -19,7 +19,7 @@ loop:                                             ; preds = %in.bounds, %entry
   br i1 %abc, label %in.bounds, label %out.of.bounds, !prof !1
 
 in.bounds:                                        ; preds = %loop
-  %addr = getelementptr i32* %arr, i32 %idx
+  %addr = getelementptr i32, i32* %arr, i32 %idx
   store i32 0, i32* %addr
   %next = icmp slt i32 %idx.next, %n
   br i1 %next, label %loop, label %exit
@@ -42,7 +42,7 @@ loop:                                             ; preds = %inner_loop.exit, %e
   %idx = phi i32 [ 0, %entry ], [ %idx.next, %inner_loop.exit ]
   %idx.next = add i32 %idx, 1
   %next = icmp ult i32 %idx.next, %parent.count
-  %len.i = load i32* %a_len_ptr, !range !0
+  %len.i = load i32, i32* %a_len_ptr, !range !0
   %first.itr.check.i = icmp sgt i32 %n, 0
   br i1 %first.itr.check.i, label %loop.i, label %exit.i
 
@@ -53,7 +53,7 @@ loop.i:                                           ; preds = %in.bounds.i, %loop
   br i1 %abc.i, label %in.bounds.i, label %out.of.bounds.i, !prof !1
 
 in.bounds.i:                                      ; preds = %loop.i
-  %addr.i = getelementptr i32* %arr, i32 %idx.i
+  %addr.i = getelementptr i32, i32* %arr, i32 %idx.i
   store i32 0, i32* %addr.i
   %next.i = icmp slt i32 %idx.next.i, %n
   br i1 %next.i, label %loop.i, label %exit.i
@@ -88,7 +88,7 @@ loop.i:                                           ; preds = %inner_loop.exit.i,
   %idx.i = phi i32 [ 0, %loop ], [ %idx.next.i, %inner_loop.exit.i ]
   %idx.next.i = add i32 %idx.i, 1
   %next.i = icmp ult i32 %idx.next.i, %parent.count
-  %len.i.i = load i32* %a_len_ptr, !range !0
+  %len.i.i = load i32, i32* %a_len_ptr, !range !0
   %first.itr.check.i.i = icmp sgt i32 %n, 0
   br i1 %first.itr.check.i.i, label %loop.i.i, label %exit.i.i
 
@@ -99,7 +99,7 @@ loop.i.i:                                         ; preds = %in.bounds.i.i, %loo
   br i1 %abc.i.i, label %in.bounds.i.i, label %out.of.bounds.i.i, !prof !1
 
 in.bounds.i.i:                                    ; preds = %loop.i.i
-  %addr.i.i = getelementptr i32* %arr, i32 %idx.i.i
+  %addr.i.i = getelementptr i32, i32* %arr, i32 %idx.i.i
   store i32 0, i32* %addr.i.i
   %next.i.i = icmp slt i32 %idx.next.i.i, %n
   br i1 %next.i.i, label %loop.i.i, label %exit.i.i
@@ -132,7 +132,7 @@ loop:                                             ; preds = %inner_loop.exit12,
   %idx = phi i32 [ 0, %entry ], [ %idx.next, %inner_loop.exit12 ]
   %idx.next = add i32 %idx, 1
   %next = icmp ult i32 %idx.next, %parent.count
-  %len.i = load i32* %a_len_ptr, !range !0
+  %len.i = load i32, i32* %a_len_ptr, !range !0
   %first.itr.check.i = icmp sgt i32 %n, 0
   br i1 %first.itr.check.i, label %loop.i, label %exit.i
 
@@ -143,7 +143,7 @@ loop.i:                                           ; preds = %in.bounds.i, %loop
   br i1 %abc.i, label %in.bounds.i, label %out.of.bounds.i, !prof !1
 
 in.bounds.i:                                      ; preds = %loop.i
-  %addr.i = getelementptr i32* %arr, i32 %idx.i
+  %addr.i = getelementptr i32, i32* %arr, i32 %idx.i
   store i32 0, i32* %addr.i
   %next.i = icmp slt i32 %idx.next.i, %n
   br i1 %next.i, label %loop.i, label %exit.i
@@ -155,7 +155,7 @@ exit.i:                                           ; preds = %in.bounds.i, %loop
   br label %inner_loop.exit
 
 inner_loop.exit:                                  ; preds = %exit.i, %out.of.bounds.i
-  %len.i1 = load i32* %a_len_ptr, !range !0
+  %len.i1 = load i32, i32* %a_len_ptr, !range !0
   %first.itr.check.i2 = icmp sgt i32 %n, 0
   br i1 %first.itr.check.i2, label %loop.i6, label %exit.i11
 
@@ -166,7 +166,7 @@ loop.i6:                                          ; preds = %in.bounds.i9, %inne
   br i1 %abc.i5, label %in.bounds.i9, label %out.of.bounds.i10, !prof !1
 
 in.bounds.i9:                                     ; preds = %loop.i6
-  %addr.i7 = getelementptr i32* %arr, i32 %idx.i3
+  %addr.i7 = getelementptr i32, i32* %arr, i32 %idx.i3
   store i32 0, i32* %addr.i7
   %next.i8 = icmp slt i32 %idx.next.i4, %n
   br i1 %next.i8, label %loop.i6, label %exit.i11
@@ -202,7 +202,7 @@ loop.i:                                           ; preds = %inner_loop.exit.i,
   %idx.i = phi i32 [ 0, %loop ], [ %idx.next.i, %inner_loop.exit.i ]
   %idx.next.i = add i32 %idx.i, 1
   %next.i = icmp ult i32 %idx.next.i, %parent.count
-  %len.i.i = load i32* %a_len_ptr, !range !0
+  %len.i.i = load i32, i32* %a_len_ptr, !range !0
   %first.itr.check.i.i = icmp sgt i32 %n, 0
   br i1 %first.itr.check.i.i, label %loop.i.i, label %exit.i.i
 
@@ -213,7 +213,7 @@ loop.i.i:                                         ; preds = %in.bounds.i.i, %loo
   br i1 %abc.i.i, label %in.bounds.i.i, label %out.of.bounds.i.i, !prof !1
 
 in.bounds.i.i:                                    ; preds = %loop.i.i
-  %addr.i.i = getelementptr i32* %arr, i32 %idx.i.i
+  %addr.i.i = getelementptr i32, i32* %arr, i32 %idx.i.i
   store i32 0, i32* %addr.i.i
   %next.i.i = icmp slt i32 %idx.next.i.i, %n
   br i1 %next.i.i, label %loop.i.i, label %exit.i.i
@@ -234,7 +234,7 @@ loop.i6:                                          ; preds = %inner_loop.exit.i16
   %idx.i1 = phi i32 [ 0, %with_parent.exit ], [ %idx.next.i2, %inner_loop.exit.i16 ]
   %idx.next.i2 = add i32 %idx.i1, 1
   %next.i3 = icmp ult i32 %idx.next.i2, %parent.count
-  %len.i.i4 = load i32* %a_len_ptr, !range !0
+  %len.i.i4 = load i32, i32* %a_len_ptr, !range !0
   %first.itr.check.i.i5 = icmp sgt i32 %n, 0
   br i1 %first.itr.check.i.i5, label %loop.i.i10, label %exit.i.i15
 
@@ -245,7 +245,7 @@ loop.i.i10:                                       ; preds = %in.bounds.i.i13, %l
   br i1 %abc.i.i9, label %in.bounds.i.i13, label %out.of.bounds.i.i14, !prof !1
 
 in.bounds.i.i13:                                  ; preds = %loop.i.i10
-  %addr.i.i11 = getelementptr i32* %arr, i32 %idx.i.i7
+  %addr.i.i11 = getelementptr i32, i32* %arr, i32 %idx.i.i7
   store i32 0, i32* %addr.i.i11
   %next.i.i12 = icmp slt i32 %idx.next.i.i8, %n
   br i1 %next.i.i12, label %loop.i.i10, label %exit.i.i15
@@ -278,7 +278,7 @@ loop:                                             ; preds = %with_parent.exit, %
   %idx = phi i32 [ 0, %entry ], [ %idx.next, %with_parent.exit ]
   %idx.next = add i32 %idx, 1
   %next = icmp ult i32 %idx.next, %grandparent.count
-  %len.i = load i32* %a_len_ptr, !range !0
+  %len.i = load i32, i32* %a_len_ptr, !range !0
   %first.itr.check.i = icmp sgt i32 %n, 0
   br i1 %first.itr.check.i, label %loop.i, label %exit.i
 
@@ -289,7 +289,7 @@ loop.i:                                           ; preds = %in.bounds.i, %loop
   br i1 %abc.i, label %in.bounds.i, label %out.of.bounds.i, !prof !1
 
 in.bounds.i:                                      ; preds = %loop.i
-  %addr.i = getelementptr i32* %arr, i32 %idx.i
+  %addr.i = getelementptr i32, i32* %arr, i32 %idx.i
   store i32 0, i32* %addr.i
   %next.i = icmp slt i32 %idx.next.i, %n
   br i1 %next.i, label %loop.i, label %exit.i
@@ -307,7 +307,7 @@ loop.i4:                                          ; preds = %inner_loop.exit.i,
   %idx.i1 = phi i32 [ 0, %inner_loop.exit ], [ %idx.next.i2, %inner_loop.exit.i ]
   %idx.next.i2 = add i32 %idx.i1, 1
   %next.i3 = icmp ult i32 %idx.next.i2, %parent.count
-  %len.i.i = load i32* %a_len_ptr, !range !0
+  %len.i.i = load i32, i32* %a_len_ptr, !range !0
   %first.itr.check.i.i = icmp sgt i32 %n, 0
   br i1 %first.itr.check.i.i, label %loop.i.i, label %exit.i.i
 
@@ -318,7 +318,7 @@ loop.i.i:                                         ; preds = %in.bounds.i.i, %loo
   br i1 %abc.i.i, label %in.bounds.i.i, label %out.of.bounds.i.i, !prof !1
 
 in.bounds.i.i:                                    ; preds = %loop.i.i
-  %addr.i.i = getelementptr i32* %arr, i32 %idx.i.i
+  %addr.i.i = getelementptr i32, i32* %arr, i32 %idx.i.i
   store i32 0, i32* %addr.i.i
   %next.i.i = icmp slt i32 %idx.next.i.i, %n
   br i1 %next.i.i, label %loop.i.i, label %exit.i.i