xref: /llvm-project/llvm/test/Analysis/MemorySSA/scalable-vec.ll (revision 8e44f13c6d294e6b4864441b22045b507782540c)
1; RUN: opt -aa-pipeline=basic-aa -passes='print<memoryssa>' -verify-memoryssa -disable-output < %s 2>&1 | FileCheck %s
2
3; CHECK-LABEL: define <vscale x 4 x i32> @f(
4; CHECK: 1 = MemoryDef(liveOnEntry)
5; CHECK: MemoryUse(1)
6define <vscale x 4 x i32> @f(<vscale x 4 x i32> %z) {
7  %a = alloca <vscale x 4 x i32>
8  store <vscale x 4 x i32> %z, ptr %a
9  %zz = load <vscale x 4 x i32>, ptr %a
10  ret <vscale x 4 x i32> %zz
11}
12
13; CHECK-LABEL: define i32 @g(
14; CHECK: 1 = MemoryDef(liveOnEntry)
15; CHECK: MemoryUse(1)
16declare ptr @gg(ptr %a)
17define i32 @g(i32 %z, ptr %bb) {
18  %a = alloca <vscale x 4 x i32>
19  store i32 %z, ptr %a
20  %bbb = call ptr @gg(ptr %a) readnone
21  %zz = load i32, ptr %bbb
22  ret i32 %zz
23}
24