summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/Transforms/LoopReroll/basic.ll87
-rw-r--r--llvm/test/Transforms/LoopReroll/complex_reroll.ll41
-rw-r--r--llvm/test/Transforms/LoopReroll/indvar_with_ext.ll18
-rw-r--r--llvm/test/Transforms/LoopReroll/nonconst_lb.ll34
-rw-r--r--llvm/test/Transforms/LoopReroll/ptrindvar.ll4
-rw-r--r--llvm/test/Transforms/LoopReroll/reduction.ll12
6 files changed, 120 insertions, 76 deletions
diff --git a/llvm/test/Transforms/LoopReroll/basic.ll b/llvm/test/Transforms/LoopReroll/basic.ll
index 096b17b303c..6e2f2fcabf1 100644
--- a/llvm/test/Transforms/LoopReroll/basic.ll
+++ b/llvm/test/Transforms/LoopReroll/basic.ll
@@ -79,11 +79,12 @@ for.body: ; preds = %entry, %for.body
; CHECK: for.body:
; CHECK: %indvar = phi i64 [ %indvar.next, %for.body ], [ 0, %entry ]
+; CHECK: %0 = trunc i64 %indvar to i32
; CHECK: %call = tail call i32 @foo(i32 0) #1
; CHECK: %arrayidx = getelementptr inbounds i32, i32* %x, i64 %indvar
; CHECK: store i32 %call, i32* %arrayidx, align 4
; CHECK: %indvar.next = add i64 %indvar, 1
-; CHECK: %exitcond = icmp eq i64 %indvar, 1499
+; CHECK: %exitcond = icmp eq i32 %0, 1499
; CHECK: br i1 %exitcond, label %for.end, label %for.body
; CHECK: ret
@@ -205,15 +206,16 @@ for.body: ; preds = %entry, %for.body
; CHECK: for.body:
; CHECK: %indvar = phi i64 [ %indvar.next, %for.body ], [ 0, %entry ]
+; CHECK: %0 = trunc i64 %indvar to i32
; CHECK: %arrayidx = getelementptr inbounds float, float* %b, i64 %indvar
-; CHECK: %0 = load float, float* %arrayidx, align 4
-; CHECK: %mul = fmul float %0, %alpha
+; CHECK: %1 = load float, float* %arrayidx, align 4
+; CHECK: %mul = fmul float %1, %alpha
; CHECK: %arrayidx2 = getelementptr inbounds float, float* %a, i64 %indvar
-; CHECK: %1 = load float, float* %arrayidx2, align 4
-; CHECK: %add = fadd float %1, %mul
+; CHECK: %2 = load float, float* %arrayidx2, align 4
+; CHECK: %add = fadd float %2, %mul
; CHECK: store float %add, float* %arrayidx2, align 4
; CHECK: %indvar.next = add i64 %indvar, 1
-; CHECK: %exitcond = icmp eq i64 %indvar, 3199
+; CHECK: %exitcond = icmp eq i32 %0, 3199
; CHECK: br i1 %exitcond, label %for.end, label %for.body
; CHECK: ret
@@ -302,18 +304,19 @@ for.body: ; preds = %entry, %for.body
; CHECK: for.body:
; CHECK: %indvar = phi i64 [ %indvar.next, %for.body ], [ 0, %entry ]
+; CHECK: %0 = trunc i64 %indvar to i32
; CHECK: %arrayidx = getelementptr inbounds i32, i32* %ip, i64 %indvar
-; CHECK: %0 = load i32, i32* %arrayidx, align 4
-; CHECK: %idxprom1 = sext i32 %0 to i64
+; CHECK: %1 = load i32, i32* %arrayidx, align 4
+; CHECK: %idxprom1 = sext i32 %1 to i64
; CHECK: %arrayidx2 = getelementptr inbounds float, float* %b, i64 %idxprom1
-; CHECK: %1 = load float, float* %arrayidx2, align 4
-; CHECK: %mul = fmul float %1, %alpha
+; CHECK: %2 = load float, float* %arrayidx2, align 4
+; CHECK: %mul = fmul float %2, %alpha
; CHECK: %arrayidx4 = getelementptr inbounds float, float* %a, i64 %indvar
-; CHECK: %2 = load float, float* %arrayidx4, align 4
-; CHECK: %add = fadd float %2, %mul
+; CHECK: %3 = load float, float* %arrayidx4, align 4
+; CHECK: %add = fadd float %3, %mul
; CHECK: store float %add, float* %arrayidx4, align 4
; CHECK: %indvar.next = add i64 %indvar, 1
-; CHECK: %exitcond = icmp eq i64 %indvar, 3199
+; CHECK: %exitcond = icmp eq i32 %0, 3199
; CHECK: br i1 %exitcond, label %for.end, label %for.body
; CHECK: ret
@@ -374,8 +377,8 @@ for.body: ; preds = %for.body, %entry
; CHECK: %arrayidx6 = getelementptr inbounds i32, i32* %x, i64 %0
; CHECK: store i32 %call, i32* %arrayidx6, align 4
; CHECK: %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
-; CHECK: %exitcond2 = icmp eq i64 %0, 1505
-; CHECK: br i1 %exitcond2, label %for.end, label %for.body
+; CHECK: %exitcond1 = icmp eq i64 %indvars.iv, 1499
+; CHECK: br i1 %exitcond1, label %for.end, label %for.body
for.end: ; preds = %for.body
ret void
@@ -434,8 +437,8 @@ for.body: ; preds = %for.body, %entry
; CHECK: %arrayidx6 = getelementptr inbounds i32, i32* %x, i64 %0
; CHECK: store i32 %call, i32* %arrayidx6, align 4
; CHECK: %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
-; CHECK: %exitcond2 = icmp eq i64 %indvars.iv, 1499
-; CHECK: br i1 %exitcond2, label %for.end, label %for.body
+; CHECK: %exitcond1 = icmp eq i64 %indvars.iv, 1499
+; CHECK: br i1 %exitcond1, label %for.end, label %for.body
for.end: ; preds = %for.body
ret void
@@ -481,7 +484,7 @@ for.body: ; preds = %for.body, %entry
; CHECK: %arrayidx = getelementptr inbounds i32, i32* %x, i64 %0
; CHECK: store i32 %call, i32* %arrayidx, align 4
; CHECK: %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
-; CHECK: %exitcond1 = icmp eq i64 %0, 1502
+; CHECK: %exitcond1 = icmp eq i64 %indvars.iv, 1499
; CHECK: br i1 %exitcond1, label %for.end, label %for.body
for.end: ; preds = %for.body
@@ -599,8 +602,8 @@ for.body: ; preds = %for.body, %entry
; CHECK-NEXT: %scevgep = getelementptr i32, i32* %x, i64 %indvars.iv
; CHECK-NEXT: store i32 %call, i32* %scevgep, align 4
; CHECK-NEXT: %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
-; CHECK-NEXT: %exitcond2 = icmp eq i32* %scevgep, %scevgep1
-; CHECK-NEXT: br i1 %exitcond2, label %for.end, label %for.body
+; CHECK-NEXT: %exitcond1 = icmp eq i64 %indvars.iv, 1499
+; CHECK-NEXT: br i1 %exitcond1, label %for.end, label %for.body
for.end: ; preds = %for.body
ret void
@@ -738,6 +741,50 @@ for.end:
ret void
}
+define void @pointer_bitcast_baseinst(i16* %arg, i8* %arg1, i64 %arg2) {
+; CHECK-LABEL: @pointer_bitcast_baseinst(
+; CHECK: bb3:
+; CHECK-NEXT: %indvar = phi i64 [ %indvar.next, %bb3 ], [ 0, %bb ]
+; CHECK-NEXT: %4 = shl i64 %indvar, 3
+; CHECK-NEXT: %5 = add i64 %4, 1
+; CHECK-NEXT: %tmp5 = shl nuw i64 %5, 1
+; CHECK-NEXT: %tmp6 = getelementptr i8, i8* %arg1, i64 %tmp5
+; CHECK-NEXT: %tmp7 = bitcast i8* %tmp6 to <8 x i16>*
+; CHECK-NEXT: %tmp8 = load <8 x i16>, <8 x i16>* %tmp7, align 2
+; CHECK-NEXT: %tmp13 = getelementptr i16, i16* %arg, i64 %5
+; CHECK-NEXT: %tmp14 = bitcast i16* %tmp13 to <8 x i16>*
+; CHECK-NEXT: store <8 x i16> %tmp8, <8 x i16>* %tmp14, align 2
+; CHECK-NEXT: %indvar.next = add i64 %indvar, 1
+; CHECK-NEXT: %exitcond = icmp eq i64 %indvar, %3
+; CHECK-NEXT: br i1 %exitcond, label %bb19, label %bb3
+bb:
+ br label %bb3
+
+bb3: ; preds = %bb3, %bb
+ %tmp = phi i64 [ 1, %bb ], [ %tmp17, %bb3 ]
+ %tmp4 = add nuw i64 %tmp, 8
+ %tmp5 = shl nuw i64 %tmp, 1
+ %tmp6 = getelementptr i8, i8* %arg1, i64 %tmp5
+ %tmp7 = bitcast i8* %tmp6 to <8 x i16>*
+ %tmp8 = load <8 x i16>, <8 x i16>* %tmp7, align 2
+ %tmp9 = shl i64 %tmp4, 1
+ %tmp10 = getelementptr i8, i8* %arg1, i64 %tmp9
+ %tmp11 = bitcast i8* %tmp10 to <8 x i16>*
+ %tmp12 = load <8 x i16>, <8 x i16>* %tmp11, align 2
+ %tmp13 = getelementptr i16, i16* %arg, i64 %tmp
+ %tmp14 = bitcast i16* %tmp13 to <8 x i16>*
+ store <8 x i16> %tmp8, <8 x i16>* %tmp14, align 2
+ %tmp15 = getelementptr i16, i16* %arg, i64 %tmp4
+ %tmp16 = bitcast i16* %tmp15 to <8 x i16>*
+ store <8 x i16> %tmp12, <8 x i16>* %tmp16, align 2
+ %tmp17 = add nuw nsw i64 %tmp, 16
+ %tmp18 = icmp eq i64 %tmp17, %arg2
+ br i1 %tmp18, label %bb19, label %bb3
+
+bb19: ; preds = %bb3
+ ret void
+}
+
attributes #0 = { nounwind uwtable }
attributes #1 = { nounwind }
diff --git a/llvm/test/Transforms/LoopReroll/complex_reroll.ll b/llvm/test/Transforms/LoopReroll/complex_reroll.ll
index 3a2c7221578..7dea5b7b3f8 100644
--- a/llvm/test/Transforms/LoopReroll/complex_reroll.ll
+++ b/llvm/test/Transforms/LoopReroll/complex_reroll.ll
@@ -10,15 +10,15 @@ entry:
while.body:
;CHECK-LABEL: while.body:
-;CHECK-NEXT: %indvar = phi i32 [ %indvar.next, %while.body ], [ 0, %entry ]
-;CHECK-NEXT: %buf.021 = phi i8* [ getelementptr inbounds ([16 x i8], [16 x i8]* @aaa, i64 0, i64 0), %entry ], [ %add.ptr, %while.body ]
+;CHECK-NEXT: %indvar = phi i64 [ %indvar.next, %while.body ], [ 0, %entry ]
;CHECK-NEXT: %sum44.020 = phi i64 [ 0, %entry ], [ %add, %while.body ]
-;CHECK-NEXT: [[T2:%[0-9]+]] = load i8, i8* %buf.021, align 1
+;CHECK-NEXT: %0 = trunc i64 %indvar to i32
+;CHECK-NEXT: %scevgep = getelementptr [16 x i8], [16 x i8]* @aaa, i64 0, i64 %indvar
+;CHECK-NEXT: [[T2:%[0-9]+]] = load i8, i8* %scevgep, align 1
;CHECK-NEXT: %conv = zext i8 [[T2]] to i64
;CHECK-NEXT: %add = add i64 %conv, %sum44.020
-;CHECK-NEXT: %add.ptr = getelementptr inbounds i8, i8* %buf.021, i64 1
-;CHECK-NEXT: %indvar.next = add i32 %indvar, 1
-;CHECK-NEXT: %exitcond = icmp eq i32 %indvar, 1
+;CHECK-NEXT: %indvar.next = add i64 %indvar, 1
+;CHECK-NEXT: %exitcond = icmp eq i32 %0, 15
;CHECK-NEXT: br i1 %exitcond, label %while.end, label %while.body
%dec22 = phi i32 [ 4, %entry ], [ %dec, %while.body ]
@@ -67,14 +67,14 @@ for.cond.cleanup:
for.body:
;CHECK-LABEL: for.body:
-;CHECK-NEXT: %indvar = phi i32 [ %indvar.next, %for.body ], [ 0, %for.body.lr.ph ]
+;CHECK-NEXT: %indvar = phi i64 [ %indvar.next, %for.body ], [ 0, %for.body.lr.ph ]
;CHECK-NEXT: %S.addr.011 = phi i32 [ %S, %for.body.lr.ph ], [ %add, %for.body ]
-;CHECK-NEXT: %a.addr.010 = phi i32* [ %a, %for.body.lr.ph ], [ %incdec.ptr1, %for.body ]
-;CHECK-NEXT: %4 = load i32, i32* %a.addr.010, align 4
-;CHECK-NEXT: %add = add nsw i32 %4, %S.addr.011
-;CHECK-NEXT: %incdec.ptr1 = getelementptr inbounds i32, i32* %a.addr.010, i64 1
-;CHECK-NEXT: %indvar.next = add i32 %indvar, 1
-;CHECK-NEXT: %exitcond = icmp eq i32 %indvar, %3
+;CHECK-NEXT: %4 = trunc i64 %indvar to i32
+;CHECK-NEXT: %scevgep = getelementptr i32, i32* %a, i64 %indvar
+;CHECK-NEXT: %5 = load i32, i32* %scevgep, align 4
+;CHECK-NEXT: %add = add nsw i32 %5, %S.addr.011
+;CHECK-NEXT: %indvar.next = add i64 %indvar, 1
+;CHECK-NEXT: %exitcond = icmp eq i32 %4, %3
;CHECK-NEXT: br i1 %exitcond, label %for.cond.for.cond.cleanup_crit_edge, label %for.body
%i.012 = phi i32 [ 0, %for.body.lr.ph ], [ %add3, %for.body ]
@@ -101,14 +101,15 @@ while.body.preheader: ; preds = %entry
while.body: ; preds = %while.body.preheader, %while.body
;CHECK-LABEL: while.body:
-;CHECK-NEXT: %indvar = phi i32 [ %indvar.next, %while.body ], [ 0, %while.body.preheader ]
+;CHECK-NEXT: %indvar = phi i64 [ %indvar.next, %while.body ], [ 0, %while.body.preheader ]
;CHECK-NEXT: %S.012 = phi i32 [ %add, %while.body ], [ undef, %while.body.preheader ]
-;CHECK-NEXT: %buf.addr.011 = phi i32* [ %add.ptr, %while.body ], [ %buf, %while.body.preheader ]
-;CHECK-NEXT: %4 = load i32, i32* %buf.addr.011, align 4
-;CHECK-NEXT: %add = add nsw i32 %4, %S.012
-;CHECK-NEXT: %add.ptr = getelementptr inbounds i32, i32* %buf.addr.011, i64 -1
-;CHECK-NEXT: %indvar.next = add i32 %indvar, 1
-;CHECK-NEXT: %exitcond = icmp eq i32 %indvar, %3
+;CHECK-NEXT: %4 = trunc i64 %indvar to i32
+;CHECK-NEXT: %5 = mul i64 %indvar, -1
+;CHECK-NEXT: %scevgep = getelementptr i32, i32* %buf, i64 %5
+;CHECK-NEXT: %6 = load i32, i32* %scevgep, align 4
+;CHECK-NEXT: %add = add nsw i32 %6, %S.012
+;CHECK-NEXT: %indvar.next = add i64 %indvar, 1
+;CHECK-NEXT: %exitcond = icmp eq i32 %4, %3
;CHECK-NEXT: br i1 %exitcond, label %while.end.loopexit, label %while.body
%i.013 = phi i32 [ %sub, %while.body ], [ %len, %while.body.preheader ]
diff --git a/llvm/test/Transforms/LoopReroll/indvar_with_ext.ll b/llvm/test/Transforms/LoopReroll/indvar_with_ext.ll
index 7aae61433ae..59d5ea5ff87 100644
--- a/llvm/test/Transforms/LoopReroll/indvar_with_ext.ll
+++ b/llvm/test/Transforms/LoopReroll/indvar_with_ext.ll
@@ -14,18 +14,16 @@ while.body.preheader:
while.body:
;CHECK-LABEL: while.body:
-;CHECK-NEXT: %indvars.iv.i423 = phi i64 [ %indvars.iv.next.i424, %while.body ], [ 0, %while.body.preheader ]
-;CHECK-NEXT: [[T1:%[0-9]+]] = trunc i64 %indvars.iv.i423 to i32
-;CHECK-NEXT: %arrayidx62.i = getelementptr inbounds float, float* %arrayidx200, i64 %indvars.iv.i423
+;CHECK-NEXT: %indvar = phi i64 [ %indvar.next, %while.body ], [ 0, %while.body.preheader ]
+;CHECK-NEXT: %arrayidx62.i = getelementptr inbounds float, float* %arrayidx200, i64 %indvar
;CHECK-NEXT: %t1 = load float, float* %arrayidx62.i, align 4
-;CHECK-NEXT: %arrayidx64.i = getelementptr inbounds float, float* %arrayidx164, i64 %indvars.iv.i423
+;CHECK-NEXT: %arrayidx64.i = getelementptr inbounds float, float* %arrayidx164, i64 %indvar
;CHECK-NEXT: %t2 = load float, float* %arrayidx64.i, align 4
;CHECK-NEXT: %mul65.i = fmul fast float %t2, %t22
;CHECK-NEXT: %add66.i = fadd fast float %mul65.i, %t1
;CHECK-NEXT: store float %add66.i, float* %arrayidx62.i, align 4
-;CHECK-NEXT: %indvars.iv.next.i424 = add i64 %indvars.iv.i423, 1
-;CHECK-NEXT: [[T2:%[0-9]+]] = sext i32 [[T1]] to i64
-;CHECK-NEXT: %exitcond = icmp eq i64 [[T2]], %{{[0-9]+}}
+;CHECK-NEXT: %indvar.next = add i64 %indvar, 1
+;CHECK-NEXT: %exitcond = icmp eq i64 %indvar, %{{[0-9]+}}
;CHECK-NEXT: br i1 %exitcond, label %while.end.loopexit, label %while.body
%indvars.iv.i423 = phi i64 [ %indvars.iv.next.i424, %while.body ], [ 0, %while.body.preheader ]
@@ -69,7 +67,7 @@ for.body.preheader: ; preds = %entry
for.body: ; preds = %for.body.preheader, %for.body
-;CHECK: for.body:
+;CHECK-LABEL: for.body:
;CHECK-NEXT: %indvar = phi i64 [ %indvar.next, %for.body ], [ 0, %for.body.preheader ]
;CHECK-NEXT: %arrayidx = getelementptr inbounds i32, i32* %y, i64 %indvar
;CHECK-NEXT: [[T1:%[0-9]+]] = load i32, i32* %arrayidx, align 4
@@ -111,7 +109,7 @@ for.body.preheader: ; preds = %entry
for.body: ; preds = %for.body.preheader, %for.body
-;CHECK: for.body:
+;CHECK-LABEL: for.body:
;CHECK: %add12 = add i8 %i.022, 2
;CHECK-NEXT: %conv = sext i8 %add12 to i32
;CHECK-NEXT: %cmp = icmp slt i32 %conv, %n
@@ -153,7 +151,7 @@ for.body.preheader: ; preds = %entry
for.body: ; preds = %for.body.preheader, %for.body
-;CHECK: for.body:
+;CHECK-LABEL: for.body:
;CHECK-NEXT: %indvar = phi i64 [ %indvar.next, %for.body ], [ 0, %for.body.preheader ]
;CHECK-NEXT: %arrayidx = getelementptr inbounds i32, i32* %y, i64 %indvar
;CHECK-NEXT: [[T1:%[0-9]+]] = load i32, i32* %arrayidx, align 4
diff --git a/llvm/test/Transforms/LoopReroll/nonconst_lb.ll b/llvm/test/Transforms/LoopReroll/nonconst_lb.ll
index d3c9385a33b..d52cc1211b8 100644
--- a/llvm/test/Transforms/LoopReroll/nonconst_lb.ll
+++ b/llvm/test/Transforms/LoopReroll/nonconst_lb.ll
@@ -53,20 +53,19 @@ for.end: ; preds = %for.body, %entry
; CHECK: %1 = sub i32 %0, %m
; CHECK: %2 = lshr i32 %1, 2
; CHECK: %3 = shl i32 %2, 2
-; CHECK: %4 = add i32 %m, %3
-; CHECK: %5 = add i32 %4, 3
+; CHECK: %4 = add i32 %3, 3
; CHECK: br label %for.body
; CHECK: for.body: ; preds = %for.body, %for.body.preheader
; CHECK: %indvar = phi i32 [ 0, %for.body.preheader ], [ %indvar.next, %for.body ]
-; CHECK: %6 = add i32 %m, %indvar
-; CHECK: %arrayidx = getelementptr inbounds i32, i32* %B, i32 %6
-; CHECK: %7 = load i32, i32* %arrayidx, align 4
-; CHECK: %mul = shl nsw i32 %7, 2
-; CHECK: %arrayidx2 = getelementptr inbounds i32, i32* %A, i32 %6
+; CHECK: %5 = add i32 %m, %indvar
+; CHECK: %arrayidx = getelementptr inbounds i32, i32* %B, i32 %5
+; CHECK: %6 = load i32, i32* %arrayidx, align 4
+; CHECK: %mul = shl nsw i32 %6, 2
+; CHECK: %arrayidx2 = getelementptr inbounds i32, i32* %A, i32 %5
; CHECK: store i32 %mul, i32* %arrayidx2, align 4
; CHECK: %indvar.next = add i32 %indvar, 1
-; CHECK: %exitcond = icmp eq i32 %6, %5
+; CHECK: %exitcond = icmp eq i32 %indvar, %4
; CHECK: br i1 %exitcond, label %for.end.loopexit, label %for.body
;void daxpy_ur(int n,float da,float *dx,float *dy)
@@ -133,20 +132,19 @@ for.end: ; preds = %for.body, %entry
; CHECK: %1 = sub i32 %0, %rem
; CHECK: %2 = lshr i32 %1, 2
; CHECK: %3 = shl i32 %2, 2
-; CHECK: %4 = add i32 %rem, %3
-; CHECK: %5 = add i32 %4, 3
+; CHECK: %4 = add i32 %3, 3
; CHECK: br label %for.body
; CHECK: for.body:
; CHECK: %indvar = phi i32 [ 0, %for.body.preheader ], [ %indvar.next, %for.body ]
-; CHECK: %6 = add i32 %rem, %indvar
-; CHECK: %arrayidx = getelementptr inbounds float, float* %dy, i32 %6
-; CHECK: %7 = load float, float* %arrayidx, align 4
-; CHECK: %arrayidx1 = getelementptr inbounds float, float* %dx, i32 %6
-; CHECK: %8 = load float, float* %arrayidx1, align 4
-; CHECK: %mul = fmul float %8, %da
-; CHECK: %add = fadd float %7, %mul
+; CHECK: %5 = add i32 %rem, %indvar
+; CHECK: %arrayidx = getelementptr inbounds float, float* %dy, i32 %5
+; CHECK: %6 = load float, float* %arrayidx, align 4
+; CHECK: %arrayidx1 = getelementptr inbounds float, float* %dx, i32 %5
+; CHECK: %7 = load float, float* %arrayidx1, align 4
+; CHECK: %mul = fmul float %7, %da
+; CHECK: %add = fadd float %6, %mul
; CHECK: store float %add, float* %arrayidx, align 4
; CHECK: %indvar.next = add i32 %indvar, 1
-; CHECK: %exitcond = icmp eq i32 %6, %5
+; CHECK: %exitcond = icmp eq i32 %indvar, %4
; CHECK: br i1 %exitcond, label %for.end.loopexit, label %for.body
diff --git a/llvm/test/Transforms/LoopReroll/ptrindvar.ll b/llvm/test/Transforms/LoopReroll/ptrindvar.ll
index 05852bdca9e..0a319ad3525 100644
--- a/llvm/test/Transforms/LoopReroll/ptrindvar.ll
+++ b/llvm/test/Transforms/LoopReroll/ptrindvar.ll
@@ -17,7 +17,7 @@ while.body:
;CHECK-NEXT: %4 = load i32, i32* %scevgep, align 4
;CHECK-NEXT: %add = add nsw i32 %4, %S.011
;CHECK-NEXT: %indvar.next = add i64 %indvar, 1
-;CHECK-NEXT: %exitcond = icmp eq i32* %scevgep, %scevgep5
+;CHECK-NEXT: %exitcond = icmp eq i64 %indvar, %3
;CHECK-NEXT: br i1 %exitcond, label %while.end.loopexit, label %while.body
%S.011 = phi i32 [ %add2, %while.body ], [ undef, %while.body.preheader ]
@@ -57,7 +57,7 @@ while.body:
;CHECK-NEXT: %5 = load i32, i32* %scevgep, align 4
;CHECK-NEXT: %add = add nsw i32 %5, %S.011
;CHECK-NEXT: %indvar.next = add i64 %indvar, 1
-;CHECK-NEXT: %exitcond = icmp eq i32* %scevgep, %scevgep5
+;CHECK-NEXT: %exitcond = icmp eq i64 %indvar, %3
;CHECK-NEXT: br i1 %exitcond, label %while.end.loopexit, label %while.body
%S.011 = phi i32 [ %add2, %while.body ], [ undef, %while.body.preheader ]
diff --git a/llvm/test/Transforms/LoopReroll/reduction.ll b/llvm/test/Transforms/LoopReroll/reduction.ll
index 191518514b8..b1e92478f26 100644
--- a/llvm/test/Transforms/LoopReroll/reduction.ll
+++ b/llvm/test/Transforms/LoopReroll/reduction.ll
@@ -35,10 +35,10 @@ for.body: ; preds = %entry, %for.body
; CHECK: %indvar = phi i64 [ %indvar.next, %for.body ], [ 0, %entry ]
; CHECK: %r.029 = phi i32 [ 0, %entry ], [ %add, %for.body ]
; CHECK: %arrayidx = getelementptr inbounds i32, i32* %x, i64 %indvar
-; CHECK: %0 = load i32, i32* %arrayidx, align 4
-; CHECK: %add = add nsw i32 %0, %r.029
+; CHECK: %1 = load i32, i32* %arrayidx, align 4
+; CHECK: %add = add nsw i32 %1, %r.029
; CHECK: %indvar.next = add i64 %indvar, 1
-; CHECK: %exitcond = icmp eq i64 %indvar, 399
+; CHECK: %exitcond = icmp eq i32 %0, 399
; CHECK: br i1 %exitcond, label %for.end, label %for.body
; CHECK: ret
@@ -80,10 +80,10 @@ for.body: ; preds = %entry, %for.body
; CHECK: %indvar = phi i64 [ %indvar.next, %for.body ], [ 0, %entry ]
; CHECK: %r.029 = phi float [ 0.000000e+00, %entry ], [ %add, %for.body ]
; CHECK: %arrayidx = getelementptr inbounds float, float* %x, i64 %indvar
-; CHECK: %0 = load float, float* %arrayidx, align 4
-; CHECK: %add = fadd float %0, %r.029
+; CHECK: %1 = load float, float* %arrayidx, align 4
+; CHECK: %add = fadd float %1, %r.029
; CHECK: %indvar.next = add i64 %indvar, 1
-; CHECK: %exitcond = icmp eq i64 %indvar, 399
+; CHECK: %exitcond = icmp eq i32 %0, 399
; CHECK: br i1 %exitcond, label %for.end, label %for.body
; CHECK: ret
OpenPOWER on IntegriCloud