[CFL-AA] CFL-AA should not assert on an va_arg instruction
[oota-llvm.git] / test / Analysis / CFLAliasAnalysis / multilevel.ll
1 ; This testcase ensures that CFL AA handles trivial cases with storing 
2 ; pointers in pointers appropriately.
3 ; Derived from:
4 ; char a, b;
5 ; char *m = &a, *n = &b;
6 ; *m;
7 ; *n;
8
9 ; RUN: opt < %s -cfl-aa -aa-eval -print-may-aliases -disable-output 2>&1 | FileCheck %s
10
11 %T = type { i32, [10 x i8] }
12
13 ; CHECK:     Function: test
14
15 define void @test() {
16 ; CHECK: 15 Total Alias Queries Performed
17 ; CHECK: 13 no alias responses
18   %M = alloca %T*, align 8
19   %N = alloca %T*, align 8
20   %A = alloca %T, align 8
21   %B = alloca %T, align 8
22
23   store %T* %A, %T** %M
24   store %T* %B, %T** %N
25
26   %AP = load %T** %M ; PartialAlias with %A
27   %BP = load %T** %N ; PartialAlias with %B
28
29   ret void
30 }