unsimplified-loop.ll 687 B

1234567891011121314151617181920212223242526272829
  1. ; RUN: opt -analyze -scalar-evolution < %s | FileCheck %s
  2. ; This loop has no preheader, multiple backedges, etc., but ScalarEvolution
  3. ; should still be able to analyze it.
  4. ; CHECK: %i = phi i64 [ 5, %entry ], [ 5, %alt ], [ %i.next, %loop.a ], [ %i.next, %loop.b ]
  5. ; CHECK-NEXT: --> {5,+,1}<%loop>
  6. define void @foo(i1 %p, i1 %q, i1 %s, i1 %u) {
  7. entry:
  8. br i1 %p, label %loop, label %alt
  9. alt:
  10. br i1 %s, label %loop, label %exit
  11. loop:
  12. %i = phi i64 [ 5, %entry ], [ 5, %alt ], [ %i.next, %loop.a ], [ %i.next, %loop.b ]
  13. %i.next = add i64 %i, 1
  14. br i1 %q, label %loop.a, label %loop.b
  15. loop.a:
  16. br label %loop
  17. loop.b:
  18. br i1 %u, label %loop, label %exit
  19. exit:
  20. ret void
  21. }