Xamarin Public Jenkins (auto-signing) 64ac736ec5 Imported Upstream version 6.0.0.172
Former-commit-id: f3cc9b82f3e5bd8f0fd3ebc098f789556b44e9cd
2019-04-12 14:10:50 +00:00

21 lines
741 B
LLVM

; 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()