diff options
author | Chaitanya <Krishna.Sankisa@amd.com> | 2025-04-09 11:55:55 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-09 11:55:55 +0530 |
commit | 523e249a6aed29fd2c36000c87838eface7324b4 (patch) | |
tree | 8eb1c5c1c4de43f117bc5ee4bd910e28fbe313f6 /llvm/lib/CodeGen/CodeGen.cpp | |
parent | e348173bef7182c7cc609d0f000452d3acf4b65c (diff) | |
download | llvm-523e249a6aed29fd2c36000c87838eface7324b4.zip llvm-523e249a6aed29fd2c36000c87838eface7324b4.tar.gz llvm-523e249a6aed29fd2c36000c87838eface7324b4.tar.bz2 |
[AMDGPU] Lower LDS in functions without sanitize_address in amdgpu-sw-lower-lds. (#131147)
Background:
"amdgpu-sw-lower-lds" pass lowers LDS accesses based on
"sanitize_address" attribute being tagged to kernel or non-kernels.
"amdgpu-sw-lower-lds" pass ideally should either lower all LDS accesses
or should not lower any based on if asan is enabled.
Issue:
But there has been cases when instrumented and non instrumented bitcodes
are linked and this is leading to few LDS being lowered correctly while
others are not. This typically leads to below error in the subsequent
pass.
"Module cannot mix absolute and non-absolute LDS GVs"
Fix:
This patch fixes this issue, by checking if any kernels in module are
tagged with "sanitize_address" attribute and then lowers all the LDS
accesses in all other kernels and non-kernels even though they do not
have "sanitize_address" attribute.
Diffstat (limited to 'llvm/lib/CodeGen/CodeGen.cpp')
0 files changed, 0 insertions, 0 deletions