1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
; This testcase was incorrectly computing that the loopentry.7 loop was
; not a child of the loopentry.6 loop.
;
; RUN: llvm-upgrade < %s | llvm-as | opt -analyze -loops | \
; RUN: grep {^ Loop Containing: %loopentry.7}
void %getAndMoveToFrontDecode() { ; No predecessors!
br label %endif.2
endif.2: ; preds = %0, %loopexit.5
br bool false, label %loopentry.5, label %UnifiedExitNode
loopentry.5: ; preds = %endif.2, %loopexit.6
br bool false, label %loopentry.6, label %UnifiedExitNode
loopentry.6: ; preds = %loopentry.5, %loopentry.7
br bool false, label %loopentry.7, label %loopexit.6
loopentry.7: ; preds = %loopentry.6, %loopentry.7
br bool false, label %loopentry.7, label %loopentry.6
loopexit.6: ; preds = %loopentry.6
br bool false, label %loopentry.5, label %loopexit.5
loopexit.5: ; preds = %loopexit.6
br bool false, label %endif.2, label %UnifiedExitNode
UnifiedExitNode: ; preds = %endif.2, %loopexit.5, %loopentry.5
ret void
}
|