xref: /aosp_15_r20/external/llvm/test/Transforms/LoopSimplify/2003-04-25-AssertFail.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; This testcase exposed a problem with the loop identification pass (LoopInfo).
2*9880d681SAndroid Build Coastguard Worker; Basically, it was incorrectly calculating the loop nesting information.
3*9880d681SAndroid Build Coastguard Worker;
4*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -loop-simplify
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Workerdefine i32 @yylex() {
7*9880d681SAndroid Build Coastguard Worker	br label %loopentry.0
8*9880d681SAndroid Build Coastguard Workerloopentry.0:		; preds = %else.4, %0
9*9880d681SAndroid Build Coastguard Worker	br label %loopexit.2
10*9880d681SAndroid Build Coastguard Workerloopexit.2:		; preds = %else.4, %loopexit.2, %loopentry.0
11*9880d681SAndroid Build Coastguard Worker	br i1 false, label %loopexit.2, label %else.4
12*9880d681SAndroid Build Coastguard Workeryy_find_action:		; preds = %else.4
13*9880d681SAndroid Build Coastguard Worker	br label %else.4
14*9880d681SAndroid Build Coastguard Workerelse.4:		; preds = %yy_find_action, %loopexit.2
15*9880d681SAndroid Build Coastguard Worker	switch i32 0, label %loopexit.2 [
16*9880d681SAndroid Build Coastguard Worker		 i32 2, label %yy_find_action
17*9880d681SAndroid Build Coastguard Worker		 i32 0, label %loopentry.0
18*9880d681SAndroid Build Coastguard Worker	]
19*9880d681SAndroid Build Coastguard Worker}
20*9880d681SAndroid Build Coastguard Worker
21