[InstCombine] Signed saturation tests. NFC
[llvm-core.git] / test / Transforms / ADCE / 2003-04-25-PHIPostDominateProblem.ll
blob37adba599cd8c173897aaf2212de3c7d0977fcf5
1 ; THis testcase caused an assertion failure because a PHI node did not have 
2 ; entries for it's postdominator.  But I think this can only happen when the 
3 ; PHI node is dead, so we just avoid patching up dead PHI nodes.
5 ; RUN: opt < %s -adce                    -S | FileCheck %s
6 ; RUN: opt < %s -adce -adce-remove-loops -S | FileCheck %s
8 target datalayout = "e-p:32:32"
10 define void @dead_test8() {
11 entry:
12         br label %loopentry
14 loopentry:              ; preds = %endif, %entry
15         %k.1 = phi i32 [ %k.0, %endif ], [ 0, %entry ]          ; <i32> [#uses=1]
16         br i1 false, label %no_exit, label %return
18 no_exit:                ; preds = %loopentry
19 ; CHECK: br label %then
20         br i1 false, label %then, label %else
22 then:           ; preds = %no_exit
23         br label %endif
25 else:           ; preds = %no_exit
26         %dec = add i32 %k.1, -1         ; <i32> [#uses=1]
27         br label %endif
29 endif:          ; preds = %else, %then
30         %k.0 = phi i32 [ %dec, %else ], [ 0, %then ]            ; <i32> [#uses=1]
31         store i32 2, i32* null
32         br label %loopentry
34 return:         ; preds = %loopentry
35         ret void