Home | History | Annotate | Download | only in Steensgaard
      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-steens-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*, %T** %M ; PartialAlias with %A
     27   %BP = load %T*, %T** %N ; PartialAlias with %B
     28 
     29   ret void
     30 }
     31