Change tests from "opt %s" to "opt < %s" so that opt doesn't see the
[llvm/avr.git] / test / Analysis / Andersens / external.ll
blob13c12dc558a773103eb253413adb19a3d3e8fc62
1 ; RUN: opt < %s -anders-aa -gvn -deadargelim -S | grep store | not grep null
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.
7 declare void @external(i32(i32*)*)
8 @G = internal constant i32* null
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
16 define i32 @foo() {
17         call void @external(i32(i32*)* @internal)
18         %V = call i32 @internal(i32* null)
19         ret i32 %V