[all-commits] [llvm/llvm-project] 292f34: [AArch64][GlobalISel] Fix incorrect ABI when tail ...

Nikita Popov via All-commits all-commits at lists.llvm.org
Mon Oct 30 07:01:26 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 292f34b0d3cb2a04be5ebb85aaeb838b29f71323
      https://github.com/llvm/llvm-project/commit/292f34b0d3cb2a04be5ebb85aaeb838b29f71323
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-10-30 (Mon, 30 Oct 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/call-lowering-tail-call-fallback.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Fix incorrect ABI when tail call not supported (#70215)

The check for whether a tail call is supported calls
determineAssignments(), which may modify argument flags. As such, even
though the check fails and a non-tail call will be emitted, it will not
have a different (incorrect) ABI.

Fix this by operating on a separate copy of the arguments.

Fixes https://github.com/llvm/llvm-project/issues/70207.




More information about the All-commits mailing list