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