[PATCH] D136361: [AArch64][SME] Disable GlobalISel/FastISel for SME functions.

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 20 07:47:42 PDT 2022


sdesmalen created this revision.
sdesmalen added reviewers: aemerson, CarolineConcatto, david-arm.
Herald added subscribers: hiraditya, kristof.beyls, rovka.
Herald added a project: All.
sdesmalen requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

This patch ensures that GlobalISel and FastISel fall back to regular DAG ISel when:

- A function requires streaming-mode to be enabled at the start/end of the function. This happens when the function has no streaming interface, but does have a streaming body.
- A function requires a lazy-save to be committed at the start of the function. This happens if the function has the `aarch64_pstate_za_new` attribute.
- A call to a function requires a change in streaming-mode.
- A call to a function requires a lazy-save buffer to be set up.

Patch by @CarolineConcatto


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D136361

Files:
  llvm/lib/Target/AArch64/AArch64FastISel.cpp
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
  llvm/test/CodeGen/AArch64/sme-disable-gisel-fisel.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D136361.469233.patch
Type: text/x-patch
Size: 20467 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221020/45ad239d/attachment-0001.bin>


More information about the llvm-commits mailing list