[PATCH] D153280: [AMDGPU] Forbid dynamic alloca on PAL ABI

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 19 10:56:35 PDT 2023


arsenm added a subscriber: JonChesterfield.
arsenm added a comment.

In D153280#4433311 <https://reviews.llvm.org/D153280#4433311>, @sebastian-ne wrote:

>> This is a bug, not an ABI constraint.
>
> Unless the PAL ABI changes, there is no way for the compiler to tell the thing that allocates scratch (=PAL or the driver) that dynamically sized stack objects exist.

If dynamic call stack works then dynamic alloca works. The common property is compile time unknown stack size which is all that matters. The runtime has no reason to know these objects exist

>> It looks like only the allocation side was implemented
>
> Interesting. Maybe we should have an unconditional error then :)

This isn't special for dynamic stack. We'll have the same problem with variadic calls (which @JonChesterfield is looking into), so we should just fix this to restore the SP from the FP


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D153280



More information about the llvm-commits mailing list