In https://reviews.llvm.org/D100481, forceful inline of all non-kernel
functions using lds was disabled since AMDGPULowerModuleLDS pass now handles
static lds. However that pass does not handle extern lds so non-kernel
functions using extern lds must sill be inline.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp | ||
---|---|---|
125 | What does the hasInitializer check have to do with this? Initializers are illegal for LDS anyway |
llvm/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp | ||
---|---|---|
125 | From https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/AMDGPU/Utils/AMDGPULDSUtils.cpp#L319, this implies that the variable is extern shared. Is there a better method for checking extern lds? |
llvm/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp | ||
---|---|---|
125 | This is just a weird helper function, I would have expected !isDeclaration to work just as well |
What does the hasInitializer check have to do with this? Initializers are illegal for LDS anyway