[PM/AA] Rebuild LLVM's alias analysis infrastructure in a way compatible
[oota-llvm.git] / test / Analysis / CFLAliasAnalysis / arguments-globals.ll
1 ; This testcase ensures that CFL AA gives conservative answers on variables
2 ; that involve arguments.
3 ; (Everything should alias everything, because args can alias globals, so the
4 ; aliasing sets should of args+alloca+global should be combined)
5
6 ; RUN: opt < %s -disable-basicaa -cfl-aa -aa-eval -print-may-aliases -disable-output 2>&1 | FileCheck %s
7
8 ; CHECK:     Function: test
9
10 @g = external global i32
11
12 define void @test(i1 %c, i32* %arg1, i32* %arg2) {
13   ; CHECK: 15 Total Alias Queries Performed
14   ; CHECK: 0 no alias responses
15   %A = alloca i32, align 4
16   %B = select i1 %c, i32* %arg1, i32* %arg2
17   %C = select i1 %c, i32* @g, i32* %A
18
19   ret void
20 }