do-loop.ll 518 B

1234567891011121314151617181920
  1. ; RUN: opt < %s -analyze -scalar-evolution | FileCheck %s
  2. ; PR1614
  3. ; CHECK: smax
  4. define i32 @f(i32 %x, i32 %y) {
  5. entry:
  6. br label %bb
  7. bb: ; preds = %bb, %entry
  8. %indvar = phi i32 [ 0, %entry ], [ %indvar.next, %bb ] ; <i32> [#uses=2]
  9. %x_addr.0 = add i32 %indvar, %x ; <i32> [#uses=1]
  10. %tmp2 = add i32 %x_addr.0, 1 ; <i32> [#uses=2]
  11. %tmp5 = icmp slt i32 %tmp2, %y ; <i1> [#uses=1]
  12. %indvar.next = add i32 %indvar, 1 ; <i32> [#uses=1]
  13. br i1 %tmp5, label %bb, label %bb7
  14. bb7: ; preds = %bb
  15. ret i32 %tmp2
  16. }