llvm
146796da - [DeviceSanitizer] Fix circular library dependency causing undefined symbol (#22901)

Commit
36 days ago
[DeviceSanitizer] Fix circular library dependency causing undefined symbol (#22901) Commit 0941896bca24 ("[DeviceSanitizer] Make sanitizer metadata globals per-module unique (#22567)") made SanitizerPostOptimizer.cpp in LLVMSYCLLowerIR call sycl::isModuleUsingMsan(), which is defined in LLVMSYCLPostLink. LLVMSYCLPostLink already links against LLVMSYCLLowerIR, so this created a circular library dependency. It doesn't show up when linking against full static LLVM libs, but breaks with `ld.lld: error: undefined symbol:llvm::sycl::isModuleUsingMsan(llvm::Module const&)` when building LLVMSYCLLowerIR as a standalone shared library (-slibs build). Fix by moving isModuleUsingAsan/Msan/Tsan down into SYCLLowerIR/SYCLUtils.{h,cpp}, which has no dependency on SYCLPostLink. Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Author
Parents
Loading