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