Use "isa" since the variable isn't used.
[llvm-complete.git] / test / Analysis / CFLAliasAnalysis / Andersen / cycle.ll
blob4ce9467ddc37495897e918fe6e23c7e1c2426ed4
1 ; This testcase ensures that CFL AA handles assignment cycles correctly
3 ; RUN: opt < %s -disable-basicaa -cfl-anders-aa -aa-eval -print-all-alias-modref-info -disable-output 2>&1 | FileCheck %s
4 ; RUN: opt < %s -aa-pipeline=cfl-anders-aa -passes=aa-eval -print-all-alias-modref-info -disable-output 2>&1 | FileCheck %s
6 ; CHECK-LABEL: Function: test_cycle
7 ; CHECK: NoAlias: i64* %a, i64** %b
8 ; CHECK: NoAlias: i64* %a, i64*** %c
9 ; CHECK: NoAlias: i64** %b, i64*** %c
10 ; CHECK: NoAlias: i64* %a, i64**** %d
11 ; CHECK: NoAlias: i64** %b, i64**** %d
12 ; CHECK: NoAlias: i64*** %c, i64**** %d
13 ; CHECK: NoAlias: i64* %a, i64* %e
14 ; CHECK: NoAlias: i64* %e, i64** %b
15 ; CHECK: NoAlias: i64* %e, i64*** %c
16 ; CHECK: MayAlias: i64* %a, i64* %f
17 ; CHECK: NoAlias: i64* %f, i64** %b
18 ; CHECK: NoAlias: i64* %f, i64*** %c
19 ; CHECK: MayAlias: i64* %f, i64**** %d
20 ; CHECK: MayAlias: i64* %e, i64* %f
21 define void @test_cycle() {
22   %a = alloca i64, align 8
23   %b = alloca i64*, align 8
24   %c = alloca i64**, align 8
25   %d = alloca i64***, align 8
26   store i64* %a, i64** %b
27   store i64** %b, i64*** %c
28   store i64*** %c, i64**** %d
30   %e = bitcast i64**** %d to i64*
31   store i64* %e, i64** %b
32   %f = load i64*, i64** %b
33   ret void