[PATCH] D105310: Mark SRet argument as pointer in SelectionDAGISel::LowerArguments

James Nagurne via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 2 11:41:22 PDT 2021


JamesNagurne added a comment.

In D105310#2854283 <https://reviews.llvm.org/D105310#2854283>, @efriedma wrote:

> I suspect this affects arm64_32, at least in terms of the generated SelectionDAG.

The upstream targets that use the isPointer field (through CCIfPtr in the calling convention .td files) are AArch64 and X86.

A problem occurs iff a pointer type is handled in a calling convention prior to an explicit SRet being handled. I'm unfortunately not well versed in how those targets' conventions work, and I understand the implications of this change breaking the ABI. Do you know of any experts on the topics for the given targets?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D105310/new/

https://reviews.llvm.org/D105310



More information about the llvm-commits mailing list