Teach InlineFunction how to differentiate between multiple-value
[oota-llvm.git] / test / Transforms / DeadStoreElimination / context-sensitive.ll
1 ; RUN: llvm-as < %s | opt -dse | llvm-dis | not grep DEAD
2
3 declare void @ext()
4
5 define i32* @caller() {
6         %P = malloc i32         ; <i32*> [#uses=4]
7         %DEAD = load i32* %P            ; <i32> [#uses=1]
8         %DEAD2 = add i32 %DEAD, 1               ; <i32> [#uses=1]
9         store i32 %DEAD2, i32* %P
10         call void @ext( )
11         store i32 0, i32* %P
12         ret i32* %P
13 }
14