; We previously had a case where we would put results from a no-args call in
; its own stratified set. This would make cases like the one in @test say that
; nothing (except %Escapes and %Arg) can alias

; RUN: opt < %s -disable-basicaa -cfl-steens-aa -aa-eval -print-all-alias-modref-info -disable-output 2>&1 | FileCheck %s

; CHECK:     Function: test
; CHECK:     NoAlias: i8* %Arg, i8* %Escapes
; CHECK:     MayAlias: i8* %Arg, i8* %Retrieved
; CHECK:     MayAlias: i8* %Escapes, i8* %Retrieved
define void @test(i8* %Arg) {
  %Noalias = alloca i8
  %Escapes = alloca i8
  call void @set_thepointer(i8* %Escapes)
  %Retrieved = call i8* @get_thepointer()
  ret void
}

declare void @set_thepointer(i8* %P)
declare i8* @get_thepointer()
