xref: /llvm-project/llvm/test/ExecutionEngine/MCJIT/test-phi.ll (revision 2d56d8c4e8751c7e2cab927cdeb4e519af3f3585)
1; RUN: %lli -jit-kind=mcjit %s > /dev/null
2; RUN: %lli %s > /dev/null
3
4; test phi node
5@Y = global i32 6		; <ptr> [#uses=1]
6
7define void @blah(ptr %X) {
8; <label>:0
9	br label %T
10T:		; preds = %Dead, %0
11	phi ptr [ %X, %0 ], [ @Y, %Dead ]		; <ptr>:1 [#uses=0]
12	ret void
13Dead:		; No predecessors!
14	br label %T
15}
16
17define i32 @test(i1 %C) {
18; <label>:0
19	br i1 %C, label %T, label %T
20T:		; preds = %0, %0
21	%X = phi i32 [ 123, %0 ], [ 123, %0 ]		; <i32> [#uses=1]
22	ret i32 %X
23}
24
25define i32 @main() {
26; <label>:0
27	br label %Test
28Test:		; preds = %Dead, %0
29	%X = phi i32 [ 0, %0 ], [ %Y, %Dead ]		; <i32> [#uses=1]
30	ret i32 %X
31Dead:		; No predecessors!
32	%Y = ashr i32 12, 4		; <i32> [#uses=1]
33	br label %Test
34}
35
36