xref: /aosp_15_r20/external/llvm/test/Transforms/SimplifyCFG/2008-09-17-SpeculativeHoist.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -simplifycfg -disable-output
2*9880d681SAndroid Build Coastguard Worker; PR 2800
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Workerdefine void @foo() {
5*9880d681SAndroid Build Coastguard Workerstart:
6*9880d681SAndroid Build Coastguard Worker	%tmp = call i1 @bar( )		; <i1> [#uses=4]
7*9880d681SAndroid Build Coastguard Worker	br i1 %tmp, label %brtrue, label %brfalse
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Workerbrtrue:		; preds = %start
10*9880d681SAndroid Build Coastguard Worker	%tmpnew = and i1 %tmp, %tmp		; <i1> [#uses=1]
11*9880d681SAndroid Build Coastguard Worker	br label %brfalse
12*9880d681SAndroid Build Coastguard Worker
13*9880d681SAndroid Build Coastguard Workerbrfalse:		; preds = %brtrue, %start
14*9880d681SAndroid Build Coastguard Worker	%andandtmp.0 = phi i1 [ %tmp, %start ], [ %tmpnew, %brtrue ]		; <i1> [#uses=0]
15*9880d681SAndroid Build Coastguard Worker	ret void
16*9880d681SAndroid Build Coastguard Worker}
17*9880d681SAndroid Build Coastguard Worker
18*9880d681SAndroid Build Coastguard Workerdeclare i1 @bar()
19