summaryrefslogtreecommitdiff
path: root/test/Transforms/SimplifyCFG/2006-10-19-UncondDiv.ll
blob: b8946dcf989abdb7a3f3f22c1b53116c3ba6daa9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
; RUN: llvm-as < %s | opt -simplifycfg -disable-output &&
; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis | not grep select

; PR957

uint %test(uint %tmp) {
cond_false179:          ; preds = %cond_true
        %tmp181 = seteq uint %tmp, 0            ; <bool> [#uses=1]
        br bool %tmp181, label %cond_true182, label %cond_next185

cond_true182:           ; preds = %cond_false179
        br label %cond_next185

cond_next185:           ; preds = %cond_true182, %cond_false179
        %d0.3 = phi uint [ div (uint 1, uint 0), %cond_true182 ], [ %tmp,
%cond_false179 ]                ; <uint> [#uses=7]

        ret uint %d0.3
}

uint %test2(uint %tmp) {
cond_false179:          ; preds = %cond_true
        %tmp181 = seteq uint %tmp, 0            ; <bool> [#uses=1]
        br bool %tmp181, label %cond_true182, label %cond_next185

cond_true182:           ; preds = %cond_false179
        br label %cond_next185

cond_next185:           ; preds = %cond_true182, %cond_false179
        %d0.3 = phi uint [ div (uint 1, uint 0), %cond_true182 ], [ %tmp,
%cond_false179 ]                ; <uint> [#uses=7]
	call uint %test(uint 4)
        ret uint %d0.3
}