Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/Analysis/LazyValueAnalysis/lvi-after-jumpthreading.ll
Show All 13 Lines | |||||
; CHECK-NEXT: ; LatticeVal for: 'i32 %a' is: overdefined | ; CHECK-NEXT: ; LatticeVal for: 'i32 %a' is: overdefined | ||||
; CHECK-NEXT: ; LatticeVal for: 'i32 %length' is: overdefined | ; CHECK-NEXT: ; LatticeVal for: 'i32 %length' is: overdefined | ||||
br label %loop | br label %loop | ||||
; CHECK-LABEL: backedge: | ; CHECK-LABEL: backedge: | ||||
; CHECK-NEXT: ; LatticeVal for: 'i32 %a' is: overdefined | ; CHECK-NEXT: ; LatticeVal for: 'i32 %a' is: overdefined | ||||
; CHECK-NEXT: ; LatticeVal for: 'i32 %length' is: overdefined | ; CHECK-NEXT: ; LatticeVal for: 'i32 %length' is: overdefined | ||||
; CHECK-NEXT: ; LatticeVal for: ' %iv = phi i32 [ 0, %entry ], [ %iv.next, %backedge ]' in BB: '%backedge' is: constantrange<0, 400> | ; CHECK-NEXT: ; LatticeVal for: ' %iv = phi i32 [ 0, %entry ], [ %iv.next, %backedge ]' in BB: '%backedge' is: constantrange<0, 400> | ||||
; CHECK-NEXT: ; LatticeVal for: ' %iv = phi i32 [ 0, %entry ], [ %iv.next, %backedge ]' in BB: '%exit' is: constantrange<399, 400> | |||||
; CHECK-NEXT: %iv = phi i32 [ 0, %entry ], [ %iv.next, %backedge ] | ; CHECK-NEXT: %iv = phi i32 [ 0, %entry ], [ %iv.next, %backedge ] | ||||
; CHECK-NEXT: ; LatticeVal for: ' %iv.next = add nsw i32 %iv, 1' in BB: '%backedge' is: constantrange<1, 401> | ; CHECK-NEXT: ; LatticeVal for: ' %iv.next = add nsw i32 %iv, 1' in BB: '%backedge' is: constantrange<1, 401> | ||||
; CHECK-NEXT: ; LatticeVal for: ' %iv.next = add nsw i32 %iv, 1' in BB: '%exit' is: constantrange<400, 401> | |||||
; CHECK-NEXT: %iv.next = add nsw i32 %iv, 1 | ; CHECK-NEXT: %iv.next = add nsw i32 %iv, 1 | ||||
; CHECK-NEXT: ; LatticeVal for: ' %cont = icmp slt i32 %iv.next, 400' in BB: '%backedge' is: overdefined | ; CHECK-NEXT: ; LatticeVal for: ' %cont = icmp slt i32 %iv.next, 400' in BB: '%backedge' is: overdefined | ||||
; CHECK-NEXT: ; LatticeVal for: ' %cont = icmp slt i32 %iv.next, 400' in BB: '%exit' is: constantrange<0, -1> | |||||
; CHECK-NEXT: %cont = icmp slt i32 %iv.next, 400 | ; CHECK-NEXT: %cont = icmp slt i32 %iv.next, 400 | ||||
; CHECK-NOT: loop | ; CHECK-NOT: loop | ||||
loop: | loop: | ||||
%iv = phi i32 [0, %entry], [%iv.next, %backedge] | %iv = phi i32 [0, %entry], [%iv.next, %backedge] | ||||
%cnd = icmp sge i32 %iv, 0 | %cnd = icmp sge i32 %iv, 0 | ||||
br i1 %cnd, label %backedge, label %exit | br i1 %cnd, label %backedge, label %exit | ||||
backedge: | backedge: | ||||
▲ Show 20 Lines • Show All 153 Lines • Show Last 20 Lines |