[llvm-exegesis][NFC] Pass Instruction instead of bare Opcode
[llvm-core.git] / test / Analysis / CFLAliasAnalysis / Steensgaard / multilevel.ll
blobea06b7430bcdb66332a4be74c1d1725a691fcf3c
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;
9 ; RUN: opt < %s -cfl-steens-aa -aa-eval -print-may-aliases -disable-output 2>&1 | FileCheck %s
11 %T = type { i32, [10 x i8] }
13 ; CHECK:     Function: test
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
23   store %T* %A, %T** %M
24   store %T* %B, %T** %N
26   %AP = load %T*, %T** %M ; PartialAlias with %A
27   %BP = load %T*, %T** %N ; PartialAlias with %B
29   ret void