gn build: Merge r374476
[llvm-complete.git] / test / Analysis / BasicAA / tail-byval.ll
blob0aa8dfdaedff2b222ec3f8ac7e0253373a83c477
1 ; RUN: opt -basicaa -aa-eval -print-all-alias-modref-info -disable-output < %s 2>&1 | FileCheck %s
3 declare void @takebyval(i32* byval %p)
5 define i32 @tailbyval() {
6 entry:
7   %p = alloca i32
8   store i32 42, i32* %p
9   tail call void @takebyval(i32* byval %p)
10   %rv = load i32, i32* %p
11   ret i32 %rv
13 ; FIXME: This should be Just Ref.
14 ; CHECK-LABEL: Function: tailbyval: 1 pointers, 1 call sites
15 ; CHECK-NEXT:   Both ModRef:  Ptr: i32* %p       <->  tail call void @takebyval(i32* byval %p)