1 ; RUN: opt -instsimplify -S < %s | FileCheck %s
4 define i1 @test1(i8 %p, i8* %pq, i8 %n, i8 %r) {
8 %A = phi i8 [ 1, %entry ], [ %next, %loop ]
9 %next = add nsw i8 %A, 1
10 %cmp1 = icmp eq i8 %A, %n
11 br i1 %cmp1, label %exit, label %loop
14 %cmp = icmp eq i8 %add, 0
20 define i1 @test2(i8 %p, i8* %pq, i8 %n, i8 %r) {
24 %A = phi i8 [ 1, %entry ], [ %next, %loop ]
26 %cmp1 = icmp eq i8 %A, %n
27 br i1 %cmp1, label %exit, label %loop
30 %cmp = icmp eq i8 %add, 0
31 ; CHECK-NOT: ret i1 false
36 define i1 @test3(i8 %p, i8* %pq, i8 %n, i8 %r) {
40 %A = phi i8 [ 1, %entry ], [ %next, %loop ]
41 %next = add nuw i8 %A, 1
42 %cmp1 = icmp eq i8 %A, %n
43 br i1 %cmp1, label %exit, label %loop
46 %cmp = icmp eq i8 %add, 0