[PATCH] D131582: [AArch64][SME] Add support for arm_locally_streaming functions.

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 10 08:48:28 PDT 2022


sdesmalen created this revision.
Herald added subscribers: kosarev, kerbowa, pengfei, hiraditya, kristof.beyls, arichardson, jvesely.
Herald added a project: All.
sdesmalen requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Functions with `aarch64_sme_pstatesm_body` will emit a SMSTART at the start
of the function, and a SMSTOP at the end of the function, such that all
operations use the right value for vscale.

Because the placement of these nodes is critically important (i.e. no
vscale-dependent operations should be done before SMSTART has been issued),
we require glueing the CopyFromReg to the Entry node such that we can
insert the SMSTART as part of that glued chain.

More details about the SME attributes and design can be found
in D131562 <https://reviews.llvm.org/D131562>.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D131582

Files:
  llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
  llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
  llvm/test/CodeGen/AArch64/sme-get-pstatesm.ll
  llvm/test/CodeGen/AArch64/sme-streaming-body.ll
  llvm/test/CodeGen/AArch64/sve-fixed-length-frame-offests.ll
  llvm/test/CodeGen/X86/callbr-asm-bb-exports.ll
  llvm/test/CodeGen/X86/merge-store-partially-alias-loads.ll
  llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_isel.ll.expected
  llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/lanai_isel.ll.expected
  llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86_isel.ll.expected

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D131582.451501.patch
Type: text/x-patch
Size: 33134 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220810/0fc789c3/attachment.bin>


More information about the llvm-commits mailing list