[all-commits] [llvm/llvm-project] 26cd25: [AArch64] Use correct calling convention for each ...

Le Philousophe via All-commits all-commits at lists.llvm.org
Thu Mar 10 15:10:21 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 26cd258420c774254cc48330b1f4d23d353baf05
      https://github.com/llvm/llvm-project/commit/26cd258420c774254cc48330b1f4d23d353baf05
  Author: Philippe Valembois <lephilousophe at users.noreply.github.com>
  Date:   2022-03-10 (Thu, 10 Mar 2022)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    A llvm/test/CodeGen/AArch64/darwinpcs-tail.ll

  Log Message:
  -----------
  [AArch64] Use correct calling convention for each vararg

While checking is tail call optimization is possible, the calling
convention applied to fixed arguments is not the correct one.
This implies for DarwinPCS that all arguments of a vararg function will
go to the stack although fixed ones can go in registers.

This prevents non-virtual thunks to be tail optimized although they are
marked as musttail.

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




More information about the All-commits mailing list