xref: /aosp_15_r20/external/llvm/test/Transforms/GlobalOpt/2006-11-01-ShrinkGlobalPhiCrash.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -globalopt -disable-output
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker        %struct._list = type { i32*, %struct._list* }
4*9880d681SAndroid Build Coastguard Worker        %struct._play = type { i32, i32*, %struct._list*, %struct._play* }
5*9880d681SAndroid Build Coastguard Worker@nrow = internal global i32 0           ; <i32*> [#uses=2]
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Workerdefine void @make_play() {
8*9880d681SAndroid Build Coastguard Workerentry:
9*9880d681SAndroid Build Coastguard Worker        br label %cond_true16.i
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Workercond_true16.i:          ; preds = %cond_true16.i, %entry
12*9880d681SAndroid Build Coastguard Worker        %low.0.in.i.0 = phi i32* [ @nrow, %entry ], [ null, %cond_true16.i ]            ; <i32*> [#uses=1]
13*9880d681SAndroid Build Coastguard Worker        %low.0.i = load i32, i32* %low.0.in.i.0              ; <i32> [#uses=0]
14*9880d681SAndroid Build Coastguard Worker        br label %cond_true16.i
15*9880d681SAndroid Build Coastguard Worker}
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Workerdefine void @make_wanted() {
18*9880d681SAndroid Build Coastguard Workerentry:
19*9880d681SAndroid Build Coastguard Worker        unreachable
20*9880d681SAndroid Build Coastguard Worker}
21*9880d681SAndroid Build Coastguard Worker
22*9880d681SAndroid Build Coastguard Workerdefine void @get_good_move() {
23*9880d681SAndroid Build Coastguard Workerentry:
24*9880d681SAndroid Build Coastguard Worker        ret void
25*9880d681SAndroid Build Coastguard Worker}
26*9880d681SAndroid Build Coastguard Worker
27*9880d681SAndroid Build Coastguard Workerdefine void @main() {
28*9880d681SAndroid Build Coastguard Workerentry:
29*9880d681SAndroid Build Coastguard Worker        store i32 8, i32* @nrow
30*9880d681SAndroid Build Coastguard Worker        tail call void @make_play( )
31*9880d681SAndroid Build Coastguard Worker        ret void
32*9880d681SAndroid Build Coastguard Worker}
33*9880d681SAndroid Build Coastguard Worker
34