[all-commits] [llvm/llvm-project] 5fae00: [AArch64][SME] Disable tail-call optimization when...

sdesmalen-arm via All-commits all-commits at lists.llvm.org
Sat Sep 17 09:22:31 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5fae000f36107a64f7f5b0ac5233803ab2bd82cd
      https://github.com/llvm/llvm-project/commit/5fae000f36107a64f7f5b0ac5233803ab2bd82cd
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2022-09-17 (Sat, 17 Sep 2022)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/sme-shared-za-interface.ll
    M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
    M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll

  Log Message:
  -----------
  [AArch64][SME] Disable tail-call optimization when streaming mode change or lazy-save may be required.

When a streaming mode change is (or may be) required for a call, it will
need to restore the original mode after the call, which prevents the use of
tail-call optimization. The same holds true for a call that requires the lazy-save
mechanism to be set up before the call, and possibly restored after.

More details about the SME attributes and design can be found
in D131562.

Reviewed By: aemerson

Differential Revision: https://reviews.llvm.org/D131579




More information about the All-commits mailing list