blob: a3da5232bb88f8798e23dca9345c947695573cc2 [file] [log] [blame]
Chris Lattner5c0c8502003-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;
Tanya Lattnerf865dcd2008-02-14 06:56:27 +00004; RUN: llvm-as < %s | opt -analyze -loops | \
Reid Spencer6e87ec42007-04-16 17:36:08 +00005; RUN: grep {^ Loop Containing: %loopentry.7}
Chris Lattner5c0c8502003-05-15 18:03:03 +00006
Tanya Lattnerf865dcd2008-02-14 06:56:27 +00007define void @getAndMoveToFrontDecode() {
Chris Lattner5c0c8502003-05-15 18:03:03 +00008 br label %endif.2
9
Tanya Lattnerf865dcd2008-02-14 06:56:27 +000010endif.2: ; preds = %loopexit.5, %0
11 br i1 false, label %loopentry.5, label %UnifiedExitNode
Chris Lattner5c0c8502003-05-15 18:03:03 +000012
Tanya Lattnerf865dcd2008-02-14 06:56:27 +000013loopentry.5: ; preds = %loopexit.6, %endif.2
14 br i1 false, label %loopentry.6, label %UnifiedExitNode
Chris Lattner5c0c8502003-05-15 18:03:03 +000015
Tanya Lattnerf865dcd2008-02-14 06:56:27 +000016loopentry.6: ; preds = %loopentry.7, %loopentry.5
17 br i1 false, label %loopentry.7, label %loopexit.6
Chris Lattner5c0c8502003-05-15 18:03:03 +000018
Tanya Lattnerf865dcd2008-02-14 06:56:27 +000019loopentry.7: ; preds = %loopentry.7, %loopentry.6
20 br i1 false, label %loopentry.7, label %loopentry.6
Chris Lattner5c0c8502003-05-15 18:03:03 +000021
22loopexit.6: ; preds = %loopentry.6
Tanya Lattnerf865dcd2008-02-14 06:56:27 +000023 br i1 false, label %loopentry.5, label %loopexit.5
Chris Lattner5c0c8502003-05-15 18:03:03 +000024
25loopexit.5: ; preds = %loopexit.6
Tanya Lattnerf865dcd2008-02-14 06:56:27 +000026 br i1 false, label %endif.2, label %UnifiedExitNode
Chris Lattner5c0c8502003-05-15 18:03:03 +000027
Tanya Lattnerf865dcd2008-02-14 06:56:27 +000028UnifiedExitNode: ; preds = %loopexit.5, %loopentry.5, %endif.2
Chris Lattner5c0c8502003-05-15 18:03:03 +000029 ret void
30}