simplifylibcalls doesn't optimize llvm.memmove, instcombine does.
[oota-llvm.git] / test / Transforms / ADCE / dead-phi-edge.ll
1 ; RUN: llvm-as < %s | opt -adce | llvm-dis | not grep call
2
3 ; The call is not live just because the PHI uses the call retval!
4
5 define i32 @test(i32 %X) {
6 ; <label>:0
7         br label %Done
8
9 DeadBlock:              ; No predecessors!
10         %Y = call i32 @test( i32 0 )            ; <i32> [#uses=1]
11         br label %Done
12
13 Done:           ; preds = %DeadBlock, %0
14         %Z = phi i32 [ %X, %0 ], [ %Y, %DeadBlock ]             ; <i32> [#uses=1]
15         ret i32 %Z
16 }
17