1; We previously had a case where we would put results from a no-args call in
2; its own stratified set. This would make cases like the one in @test say that
3; nothing (except %Escapes and %Arg) can alias
4
5; RUN: opt < %s -disable-basic-aa -cfl-steens-aa -aa-eval -print-all-alias-modref-info -disable-output 2>&1 | FileCheck %s
6
7; CHECK:     Function: test
8; CHECK:     NoAlias: i8* %Arg, i8* %Escapes
9; CHECK:     MayAlias: i8* %Arg, i8* %Retrieved
10; CHECK:     MayAlias: i8* %Escapes, i8* %Retrieved
11define void @test(i8* %Arg) {
12  %Noalias = alloca i8
13  %Escapes = alloca i8
14  call void @set_thepointer(i8* %Escapes)
15  %Retrieved = call i8* @get_thepointer()
16  ret void
17}
18
19declare void @set_thepointer(i8* %P)
20declare i8* @get_thepointer()
21