2003-02-19-LoopInfoNestingBug.ll 811 B

1234567891011121314151617181920212223242526272829
  1. ; LoopInfo is incorrectly calculating loop nesting! In this case it doesn't
  2. ; figure out that loop "Inner" should be nested inside of leep "LoopHeader",
  3. ; and instead nests it just inside loop "Top"
  4. ;
  5. ; RUN: opt < %s -analyze -loops | \
  6. ; RUN: grep " Loop at depth 3 containing: %Inner<header><latch><exiting>"
  7. ;
  8. define void @test() {
  9. br label %Top
  10. Top: ; preds = %Out, %0
  11. br label %LoopHeader
  12. Next: ; preds = %LoopHeader
  13. br i1 false, label %Inner, label %Out
  14. Inner: ; preds = %Inner, %Next
  15. br i1 false, label %Inner, label %LoopHeader
  16. LoopHeader: ; preds = %Inner, %Top
  17. br label %Next
  18. Out: ; preds = %Next
  19. br i1 false, label %Top, label %Done
  20. Done: ; preds = %Out
  21. ret void
  22. }