aboutsummaryrefslogtreecommitdiff
path: root/test/Transforms/SCCP/phitest.ll
blob: 9946a88eeeef3edc60c7722abc8df09656fad066 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
; RUN: opt %s -sccp -dce -simplifycfg | llvm-dis | \
; RUN:   not grep br

define i32 @test(i32 %param) {
entry:
	%tmp.1 = icmp ne i32 %param, 0		; <i1> [#uses=1]
	br i1 %tmp.1, label %endif.0, label %else
else:		; preds = %entry
	br label %endif.0
endif.0:		; preds = %else, %entry
	%a.0 = phi i32 [ 2, %else ], [ 3, %entry ]		; <i32> [#uses=1]
	%b.0 = phi i32 [ 3, %else ], [ 2, %entry ]		; <i32> [#uses=1]
	%tmp.5 = add i32 %a.0, %b.0		; <i32> [#uses=1]
	%tmp.7 = icmp ne i32 %tmp.5, 5		; <i1> [#uses=1]
	br i1 %tmp.7, label %UnifiedReturnBlock, label %endif.1
endif.1:		; preds = %endif.0
	ret i32 0
UnifiedReturnBlock:		; preds = %endif.0
	ret i32 2
}