xref: /aosp_15_r20/external/llvm/test/Analysis/LoopInfo/2003-05-15-NestingProblem.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; This testcase was incorrectly computing that the loopentry.7 loop was
2*9880d681SAndroid Build Coastguard Worker; not a child of the loopentry.6 loop.
3*9880d681SAndroid Build Coastguard Worker;
4*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -analyze -loops | FileCheck %s
5*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -passes='print<loops>' -disable-output 2>&1 | FileCheck %s
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Worker; CHECK: Loop at depth 4 containing: %loopentry.7<header><latch><exiting>
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Workerdefine void @getAndMoveToFrontDecode() {
10*9880d681SAndroid Build Coastguard Worker	br label %endif.2
11*9880d681SAndroid Build Coastguard Worker
12*9880d681SAndroid Build Coastguard Workerendif.2:		; preds = %loopexit.5, %0
13*9880d681SAndroid Build Coastguard Worker	br i1 false, label %loopentry.5, label %UnifiedExitNode
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Workerloopentry.5:		; preds = %loopexit.6, %endif.2
16*9880d681SAndroid Build Coastguard Worker	br i1 false, label %loopentry.6, label %UnifiedExitNode
17*9880d681SAndroid Build Coastguard Worker
18*9880d681SAndroid Build Coastguard Workerloopentry.6:		; preds = %loopentry.7, %loopentry.5
19*9880d681SAndroid Build Coastguard Worker	br i1 false, label %loopentry.7, label %loopexit.6
20*9880d681SAndroid Build Coastguard Worker
21*9880d681SAndroid Build Coastguard Workerloopentry.7:		; preds = %loopentry.7, %loopentry.6
22*9880d681SAndroid Build Coastguard Worker	br i1 false, label %loopentry.7, label %loopentry.6
23*9880d681SAndroid Build Coastguard Worker
24*9880d681SAndroid Build Coastguard Workerloopexit.6:		; preds = %loopentry.6
25*9880d681SAndroid Build Coastguard Worker	br i1 false, label %loopentry.5, label %loopexit.5
26*9880d681SAndroid Build Coastguard Worker
27*9880d681SAndroid Build Coastguard Workerloopexit.5:		; preds = %loopexit.6
28*9880d681SAndroid Build Coastguard Worker	br i1 false, label %endif.2, label %UnifiedExitNode
29*9880d681SAndroid Build Coastguard Worker
30*9880d681SAndroid Build Coastguard WorkerUnifiedExitNode:		; preds = %loopexit.5, %loopentry.5, %endif.2
31*9880d681SAndroid Build Coastguard Worker	ret void
32*9880d681SAndroid Build Coastguard Worker}
33