[DivergenceAnalysis] fix a bug in computing influence regions
[oota-llvm.git] / test / Analysis / CFLAliasAnalysis / basic-interproc-ret.ll
1 ; This testcase ensures that CFL AA gives conservative answers on variables
2 ; that involve arguments.
3
4 ; RUN: opt < %s -cfl-aa -aa-eval -print-may-aliases -disable-output 2>&1 | FileCheck %s
5
6 ; CHECK:     Function: test
7 ; CHECK: 4 Total Alias Queries Performed
8 ; CHECK: 3 no alias responses
9 ; ^ The 1 MayAlias is due to %arg1. Sadly, we don't currently have machinery
10 ; in place to check whether %arg1 aliases %a, because BasicAA takes care of 
11 ; that for us.
12
13 define i32* @test2(i32* %arg1) {
14   store i32 0, i32* %arg1
15
16   %a = alloca i32, align 4
17   ret i32* %a
18 }
19
20 define void @test() {
21   %a = alloca i32, align 4
22   %b = alloca i32, align 4
23   %c = call i32* @test2(i32* %a)
24
25   ret void
26 }