linux-packaging-mono/external/llvm/test/Other/2003-02-19-LoopInfoNestingBug.ll
Xamarin Public Jenkins (auto-signing) f32dbaf0b2 Imported Upstream version 5.18.0.225
Former-commit-id: 10196d987d5fc5564b9d3b33b1fdf13190f4d0b5
2018-12-21 19:01:49 +00:00

30 lines
811 B
LLVM

; 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: opt < %s -analyze -loops | \
; RUN: grep " Loop at depth 3 containing: %Inner<header><latch><exiting>"
;
define void @test() {
br label %Top
Top: ; preds = %Out, %0
br label %LoopHeader
Next: ; preds = %LoopHeader
br i1 false, label %Inner, label %Out
Inner: ; preds = %Inner, %Next
br i1 false, label %Inner, label %LoopHeader
LoopHeader: ; preds = %Inner, %Top
br label %Next
Out: ; preds = %Next
br i1 false, label %Top, label %Done
Done: ; preds = %Out
ret void
}