diff options
-rw-r--r-- | test/Other/2003-02-19-LoopInfoNestingBug.ll | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/test/Other/2003-02-19-LoopInfoNestingBug.ll b/test/Other/2003-02-19-LoopInfoNestingBug.ll new file mode 100644 index 0000000000..78338b8e6f --- /dev/null +++ b/test/Other/2003-02-19-LoopInfoNestingBug.ll @@ -0,0 +1,27 @@ +; LoopInfo is incorrectly calculating loop nesting! In this case it doesn't +; figure out that loop "Inner" should be nested inside of leep "LoopHeader", +; and instead nests it just inside loop "Top" +; +; RUN: analyze -loops %s | grep ' Loop Containing: label %Inner' +; + +implementation + +void %test() { + br label %Top +Top: + br label %LoopHeader +Next: + br bool false, label %Inner, label %Out +Inner: + br bool false, label %Inner, label %LoopHeader + +LoopHeader: + br label %Next + +Out: + br bool false, label %Top, label %Done + +Done: + ret void +} |