loop_evaluate_6.ll 764 B

1234567891011121314151617181920212223242526
  1. ; RUN: opt < %s -indvars -loop-deletion -S | grep phi | count 1
  2. define i32 @test(i32 %x_offs) nounwind readnone {
  3. entry:
  4. %0 = icmp sgt i32 %x_offs, 4 ; <i1> [#uses=1]
  5. br i1 %0, label %bb.nph, label %bb2
  6. bb.nph: ; preds = %entry
  7. br label %bb
  8. bb: ; preds = %bb1, %bb.nph
  9. %x_offs_addr.01 = phi i32 [ %1, %bb1 ], [ %x_offs, %bb.nph ] ; <i32> [#uses=1]
  10. %1 = add i32 %x_offs_addr.01, -4 ; <i32> [#uses=3]
  11. br label %bb1
  12. bb1: ; preds = %bb
  13. %2 = icmp sgt i32 %1, 4 ; <i1> [#uses=1]
  14. br i1 %2, label %bb, label %bb1.bb2_crit_edge
  15. bb1.bb2_crit_edge: ; preds = %bb1
  16. br label %bb2
  17. bb2: ; preds = %bb1.bb2_crit_edge, %entry
  18. %x_offs_addr.0.lcssa = phi i32 [ %1, %bb1.bb2_crit_edge ], [ %x_offs, %entry ] ; <i32> [#uses=1]
  19. ret i32 %x_offs_addr.0.lcssa
  20. }