xref: /aosp_15_r20/external/llvm/test/Transforms/Mem2Reg/2003-04-18-DeadBlockProblem.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; This testcases makes sure that mem2reg can handle unreachable blocks.
2*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -mem2reg
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Workerdefine i32 @test() {
5*9880d681SAndroid Build Coastguard Worker	%X = alloca i32		; <i32*> [#uses=2]
6*9880d681SAndroid Build Coastguard Worker	store i32 6, i32* %X
7*9880d681SAndroid Build Coastguard Worker	br label %Loop
8*9880d681SAndroid Build Coastguard WorkerLoop:		; preds = %EndOfLoop, %0
9*9880d681SAndroid Build Coastguard Worker	store i32 5, i32* %X
10*9880d681SAndroid Build Coastguard Worker	br label %EndOfLoop
11*9880d681SAndroid Build Coastguard WorkerUnreachable:		; No predecessors!
12*9880d681SAndroid Build Coastguard Worker	br label %EndOfLoop
13*9880d681SAndroid Build Coastguard WorkerEndOfLoop:		; preds = %Unreachable, %Loop
14*9880d681SAndroid Build Coastguard Worker	br label %Loop
15*9880d681SAndroid Build Coastguard Worker}
16*9880d681SAndroid Build Coastguard Worker
17