Compiler projects using llvm
; This testcase exposed a problem with the loop identification pass (LoopInfo).
; Basically, it was incorrectly calculating the loop nesting information.
;
; RUN: opt < %s -loop-simplify

define i32 @yylex() {
	br label %loopentry.0
loopentry.0:		; preds = %else.4, %0
	br label %loopexit.2
loopexit.2:		; preds = %else.4, %loopexit.2, %loopentry.0
	br i1 false, label %loopexit.2, label %else.4
yy_find_action:		; preds = %else.4
	br label %else.4
else.4:		; preds = %yy_find_action, %loopexit.2
	switch i32 0, label %loopexit.2 [
		 i32 2, label %yy_find_action
		 i32 0, label %loopentry.0
	]
}