@llvm.dbg.stoppoint intrinsic is not used anymore.
[oota-llvm.git] / test / Analysis / Andersens / external.ll
1 ; RUN: opt < %s -anders-aa -gvn -deadargelim -S | grep store | not grep null
2
3 ; Because the 'internal' function is passed to an external function, we don't
4 ; know what the incoming values will alias.  As such, we cannot do the 
5 ; optimization checked by the 'arg-must-alias.ll' test.
6
7 declare void @external(i32(i32*)*)
8 @G = internal constant i32* null
9
10 define internal i32 @internal(i32* %ARG) {
11         ;;; We *DON'T* know that ARG always points to null!
12         store i32* %ARG, i32** @G
13         ret i32 0
14 }
15
16 define i32 @foo() {
17         call void @external(i32(i32*)* @internal)
18         %V = call i32 @internal(i32* null)
19         ret i32 %V
20 }