Home | History | Annotate | Download | only in Steensgaard
      1 ; RUN: opt < %s -disable-basicaa -cfl-steens-aa -aa-eval -print-may-aliases -disable-output 2>&1 | FileCheck %s
      2 ; RUN: opt < %s -aa-pipeline=cfl-steens-aa -passes=aa-eval -print-may-aliases -disable-output 2>&1 | FileCheck %s
      3 
      4 ; CHECK-LABEL:     Function: foo
      5 ; CHECK: MayAlias: i32* %A, i32* %B
      6 define void @foo(i32* %A, i32* %B) {
      7 entry:
      8   store i32 0, i32* %A, align 4
      9   store i32 0, i32* %B, align 4
     10   ret void
     11 }
     12 
     13 ; CHECK-LABEL:     Function: bar
     14 ; CHECK: MayAlias: i32* %A, i32* %B
     15 ; CHECK: MayAlias: i32* %A, i32* %arrayidx
     16 ; CHECK: MayAlias: i32* %B, i32* %arrayidx
     17 define void @bar(i32* %A, i32* %B) {
     18 entry:
     19   store i32 0, i32* %A, align 4
     20   %arrayidx = getelementptr inbounds i32, i32* %B, i64 1
     21   store i32 0, i32* %arrayidx, align 4
     22   ret void
     23 }
     24 
     25 @G = global i32 0
     26 
     27 ; CHECK-LABEL:     Function: baz
     28 ; CHECK: MayAlias: i32* %A, i32* @G
     29 define void @baz(i32* %A) {
     30 entry:
     31   store i32 0, i32* %A, align 4
     32   store i32 0, i32* @G, align 4
     33   ret void
     34 }
     35 
     36 ; CHECK-LABEL: Alias Analysis Evaluator Report
     37 ; CHECK: 5 Total Alias Queries Performed
     38 ; CHECK: 0 no alias responses
     39 ; CHECK: 5 may alias responses
     40