================
@@ -1106,8 +1106,12 @@ bool AMDGPUToolChain::shouldSkipSanitizeOption(
 
   // For simplicity, we only allow -fsanitize=address
   SanitizerMask K = parseSanitizerValue(A->getValue(), /*AllowGroups=*/false);
-  if (K != SanitizerKind::Address)
+  if (K != SanitizerKind::Address) {
----------------
ampandey-1995 wrote:

Done.

Hi @yxsamliu & @jhuber6 , there is one complication with respect to OpenMP 
toolchain i.e ```AMDGPUOpenMPToolchain```.

I am seeing diagnoseUnsupportedSanitizers is getting called twice for 
AMDGPUOpenMP toolchain.

In ```Driver.cpp```  AMDGPUOpenMPToolchain objects are created twice.

**1. At line number 988.**
`#0  clang::driver::toolchains::ROCMToolChain::diagnoseUnsupportedSanitizers 
(this=0x7e1ff5c21900, Args=...) at 
/home/ampandey/trunk-toolchain/src-home/llvm-project/clang/lib/Driver/ToolChains/AMDGPU.h:154
#1  0x000055555c2e0b53 in 
clang::driver::toolchains::AMDGPUOpenMPToolChain::AMDGPUOpenMPToolChain 
(this=0x7e1ff5c21900, D=..., Triple=..., HostTC=..., Args=...) at 
/home/ampandey/trunk-toolchain/src-home/llvm-project/clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp:41
                                                                                
                                                                                
  #2  0x000055555c22489b in 
std::make_unique<clang::driver::toolchains::AMDGPUOpenMPToolChain, 
clang::driver::Driver&, llvm::Triple&, clang::driver::ToolChain const&, 
llvm::opt::InputArgList const&> (__parameter_pack#0=..., 
__parameter_pack#1=..., __parameter_pack#2=..., __parameter_pack#3=...) at 
/usr/include/c++/12/bits/unique_ptr.h:1065                                      
                                                 #3  0x000055555c1fa1ca in 
clang::driver::Driver::CreateOffloadingDeviceToolChains (this=0x7fffffff8420, 
C=..., Inputs=...) at 
/home/ampandey/trunk-toolchain/src-home/llvm-project/clang/lib/Driver/Driver.cpp:988
#4  0x000055555c2006d6 in clang::driver::Driver::BuildCompilation 
(this=0x7fffffff8420, ArgList=...) at 
/home/ampandey/trunk-toolchain/src-home/llvm-project/clang/lib/Driver/Driver.cpp:1780
#5  0x0000555559685f47 in clang_main(int, char**, llvm::ToolContext const&) ()
#6  0x000055555969a83a in main ()`

**2. At line number 1058**
`#0  clang::driver::toolchains::ROCMToolChain::diagnoseUnsupportedSanitizers 
(this=0x7e1ff5c23100, Args=...) at 
/home/ampandey/trunk-toolchain/src-home/llvm-project/clang/lib/Driver/ToolChains/AMDGPU.h:154
#1  0x000055555c2e0b53 in 
clang::driver::toolchains::AMDGPUOpenMPToolChain::AMDGPUOpenMPToolChain 
(this=0x7e1ff5c23100, D=..., Triple=..., HostTC=..., Args=...) at 
/home/ampandey/trunk-toolchain/src-home/llvm-project/clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp:41
                                                                                
                                                                                
  #2  0x000055555c22489b in 
std::make_unique<clang::driver::toolchains::AMDGPUOpenMPToolChain, 
clang::driver::Driver&, llvm::Triple&, clang::driver::ToolChain const&, 
llvm::opt::InputArgList const&> (__parameter_pack#0=..., 
__parameter_pack#1=..., __parameter_pack#2=..., __parameter_pack#3=...) at 
/usr/include/c++/12/bits/unique_ptr.h:1065                                      
                                                 #3  0x000055555c1fad00 in 
clang::driver::Driver::CreateOffloadingDeviceToolChains (this=0x7fffffff8420, 
C=..., Inputs=...) at 
/home/ampandey/trunk-toolchain/src-home/llvm-project/clang/lib/Driver/Driver.cpp:1058
#4  0x000055555c2006d6 in clang::driver::Driver::BuildCompilation 
(this=0x7fffffff8420, ArgList=...) at 
/home/ampandey/trunk-toolchain/src-home/llvm-project/clang/lib/Driver/Driver.cpp:1780
#5  0x0000555559685f47 in clang_main(int, char**, llvm::ToolContext const&) ()
#6  0x000055555969a83a in main ()`

With Hip there is only one  HIPAMD toolchain.

`#0  clang::driver::toolchains::ROCMToolChain::diagnoseUnsupportedSanitizers 
(this=0x7e1ff5c21900, Args=...) at 
/home/ampandey/trunk-toolchain/src-home/llvm-project/clang/lib/Driver/ToolChains/AMDGPU.h:154
#1  0x000055555c3e4727 in 
clang::driver::toolchains::HIPAMDToolChain::HIPAMDToolChain 
(this=0x7e1ff5c21900, D=..., Triple=..., HostTC=..., Args=...) at 
/home/ampandey/trunk-toolchain/src-home/llvm-project/clang/lib/Driver/ToolChains/HIPAMD.cpp:220
#2  0x000055555c23278a in 
std::make_unique<clang::driver::toolchains::HIPAMDToolChain, 
clang::driver::Driver const&, llvm::Triple const&, clang::driver::ToolChain 
const&, llvm::opt::ArgList const&> (__parameter_pack#0=..., 
__parameter_pack#1=..., __parameter_pack#2=..., __parameter_pack#3=...) at 
/usr/include/c++/12/bits/unique_ptr.h:1065
#3  0x000055555c21df4c in clang::driver::Driver::getOffloadingDeviceToolChain 
(this=0x7fffffff8400, Args=..., Target=..., HostTC=..., 
TargetDeviceOffloadKind=@0x7fffffff78f0: clang::driver::Action::OFK_HIP) at 
/home/ampandey/trunk-toolchain/src-home/llvm-project/clang/lib/Driver/Driver.cpp:6817
#4  0x000055555c1f9b47 in 
clang::driver::Driver::CreateOffloadingDeviceToolChains (this=0x7fffffff8400, 
C=..., Inputs=...) at 
/home/ampandey/trunk-toolchain/src-home/llvm-project/clang/lib/Driver/Driver.cpp:922
#5  0x000055555c2006d6 in clang::driver::Driver::BuildCompilation 
(this=0x7fffffff8400, ArgList=...) at 
/home/ampandey/trunk-toolchain/src-home/llvm-project/clang/lib/Driver/Driver.cpp:1780
#6  0x0000555559685f47 in clang_main(int, char**, llvm::ToolContext const&) ()
#7  0x000055555969a83a in main ()`



https://github.com/llvm/llvm-project/pull/124754
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to