diff options
Diffstat (limited to 'test/Analysis/BasicAA/tail-byval.ll')
-rw-r--r-- | test/Analysis/BasicAA/tail-byval.ll | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/Analysis/BasicAA/tail-byval.ll b/test/Analysis/BasicAA/tail-byval.ll new file mode 100644 index 0000000000000..0aa8dfdaedff2 --- /dev/null +++ b/test/Analysis/BasicAA/tail-byval.ll @@ -0,0 +1,15 @@ +; RUN: opt -basicaa -aa-eval -print-all-alias-modref-info -disable-output < %s 2>&1 | FileCheck %s + +declare void @takebyval(i32* byval %p) + +define i32 @tailbyval() { +entry: + %p = alloca i32 + store i32 42, i32* %p + tail call void @takebyval(i32* byval %p) + %rv = load i32, i32* %p + ret i32 %rv +} +; FIXME: This should be Just Ref. +; CHECK-LABEL: Function: tailbyval: 1 pointers, 1 call sites +; CHECK-NEXT: Both ModRef: Ptr: i32* %p <-> tail call void @takebyval(i32* byval %p) |