blob: 617c23f8e86f03d547083b72a4ffa3088afeb628 [file] [log] [blame]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001; This testcase was incorrectly computing that the loopentry.7 loop was
2; not a child of the loopentry.6 loop.
3;
Dan Gohman3c7d3082009-09-11 18:01:28 +00004; RUN: opt < %s -analyze -loops | \
Dan Gohman04877cd2009-02-27 00:17:49 +00005; RUN: grep {^ Loop at depth 4 containing: %loopentry.7<header><latch><exit>}
Dan Gohmanf17a25c2007-07-18 16:29:46 +00006
Tanya Lattnera695f012008-02-14 06:56:27 +00007define void @getAndMoveToFrontDecode() {
Dan Gohmanf17a25c2007-07-18 16:29:46 +00008 br label %endif.2
9
Tanya Lattnera695f012008-02-14 06:56:27 +000010endif.2: ; preds = %loopexit.5, %0
11 br i1 false, label %loopentry.5, label %UnifiedExitNode
Dan Gohmanf17a25c2007-07-18 16:29:46 +000012
Tanya Lattnera695f012008-02-14 06:56:27 +000013loopentry.5: ; preds = %loopexit.6, %endif.2
14 br i1 false, label %loopentry.6, label %UnifiedExitNode
Dan Gohmanf17a25c2007-07-18 16:29:46 +000015
Tanya Lattnera695f012008-02-14 06:56:27 +000016loopentry.6: ; preds = %loopentry.7, %loopentry.5
17 br i1 false, label %loopentry.7, label %loopexit.6
Dan Gohmanf17a25c2007-07-18 16:29:46 +000018
Tanya Lattnera695f012008-02-14 06:56:27 +000019loopentry.7: ; preds = %loopentry.7, %loopentry.6
20 br i1 false, label %loopentry.7, label %loopentry.6
Dan Gohmanf17a25c2007-07-18 16:29:46 +000021
22loopexit.6: ; preds = %loopentry.6
Tanya Lattnera695f012008-02-14 06:56:27 +000023 br i1 false, label %loopentry.5, label %loopexit.5
Dan Gohmanf17a25c2007-07-18 16:29:46 +000024
25loopexit.5: ; preds = %loopexit.6
Tanya Lattnera695f012008-02-14 06:56:27 +000026 br i1 false, label %endif.2, label %UnifiedExitNode
Dan Gohmanf17a25c2007-07-18 16:29:46 +000027
Tanya Lattnera695f012008-02-14 06:56:27 +000028UnifiedExitNode: ; preds = %loopexit.5, %loopentry.5, %endif.2
Dan Gohmanf17a25c2007-07-18 16:29:46 +000029 ret void
30}