xref: /aosp_15_r20/external/llvm/test/Transforms/LCSSA/2006-06-12-MultipleExitsSameBlock.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -lcssa -S | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -passes=lcssa -S | FileCheck %s
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Workerdeclare i1 @c1()
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Workerdeclare i1 @c2()
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Workerdefine i32 @foo() {
9*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @foo
10*9880d681SAndroid Build Coastguard Workerentry:
11*9880d681SAndroid Build Coastguard Worker	br label %loop_begin
12*9880d681SAndroid Build Coastguard Workerloop_begin:		; preds = %loop_body.2, %entry
13*9880d681SAndroid Build Coastguard Worker	br i1 true, label %loop_body.1, label %loop_exit2
14*9880d681SAndroid Build Coastguard Workerloop_body.1:		; preds = %loop_begin
15*9880d681SAndroid Build Coastguard Worker	%X.1 = add i32 0, 1		; <i32> [#uses=1]
16*9880d681SAndroid Build Coastguard Worker	%rel.1 = call i1 @c1( )		; <i1> [#uses=1]
17*9880d681SAndroid Build Coastguard Worker	br i1 %rel.1, label %loop_exit, label %loop_body.2
18*9880d681SAndroid Build Coastguard Workerloop_body.2:		; preds = %loop_body.1
19*9880d681SAndroid Build Coastguard Worker	%rel.2 = call i1 @c2( )		; <i1> [#uses=1]
20*9880d681SAndroid Build Coastguard Worker	br i1 %rel.2, label %loop_exit, label %loop_begin
21*9880d681SAndroid Build Coastguard Workerloop_exit:		; preds = %loop_body.2, %loop_body.1
22*9880d681SAndroid Build Coastguard Worker; CHECK: %X.1.lcssa = phi
23*9880d681SAndroid Build Coastguard Worker	ret i32 %X.1
24*9880d681SAndroid Build Coastguard Workerloop_exit2:		; preds = %loop_begin
25*9880d681SAndroid Build Coastguard Worker	ret i32 1
26*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: %X.1.lcssa1
27*9880d681SAndroid Build Coastguard Worker}
28*9880d681SAndroid Build Coastguard Worker
29