[PATCH] D70496: [AArch64] Fix issues with large arrays on stack

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 22 13:20:47 PST 2019


efriedma added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h:43
   /// callee.
   unsigned BytesInStackArgArea = 0;
 
----------------
kiranchandramohan wrote:
> efriedma wrote:
> > Is there a potential problem here as well?
> I don't know whether i can answer that. Typically the ABI prohibits passing large objects by value. For e.g. the AArch64 ABI disallows passing composite types by value whose size is larger than 16bytes.
> "If the argument type is a Composite Type that is larger than 16 bytes, then the argument is copied to memory allocated by the caller and the argument is replaced by a pointer to the copy."
> 
> If this refers to arguments only then probably it is not needed. 
> 
> Do you feel there are cases which can cause this variable to have a high value which requires 64 bit?
I guess not in practice; functions can't have that many arguments.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D70496





More information about the llvm-commits mailing list