The "Promote Alloca" optimization tries to move some stack allocations to statically allocated LDS, so it adds new static LDS loads/stores to the kernel.
Mixed static/dynamic LDS is not correctly supported by the hip-clang yet, so adding static LDS load/stores to a kernel that already has dynamic LDS operations causes conflicts.
This patch disables Promote Alloca optimization for kernels that use dynamic LDS.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Needs testcase
llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp | ||
---|---|---|
740 | I think this needs more clarification, since this does handle dynamic LDS as OpenCL uses it through a kernel argument. |
clang-format: please reformat the code