================
@@ -6440,7 +6440,8 @@ const ToolChain &Driver::getToolChain(const ArgList &Args,
       TC = std::make_unique<toolchains::NVPTXToolChain>(*this, Target, Args);
       break;
     case llvm::Triple::AMDHSA:
-      TC = std::make_unique<toolchains::ROCMToolChain>(*this, Target, Args);
+      TC = std::make_unique<toolchains::ROCMToolChain>(*this, Target, Args,
+                                                       Target.isOSWindows());
----------------
david-salinas wrote:

The reason we need to pass this is primarily/solely because when we create the 
Offloading Device ToolChain (in "Driver::getOffloadingDeviceToolChain()", we 
pass the Device's triple to the toolchain constructor as the target triple; 
which as you mentioned will not be Windows.  Then the Device side toolchain, 
has it's own RocmInstallationDetector, which will add the linux paths.  And I 
need a way to tell the RocmInstallationDetector, on the device side ToolChain, 
that the Host TC is actually Windows.  

I tried a couple of different approaches to handle this case, but this is the 
least intrusive so far.  The RocmInstallationDetector sets the search paths in 
its constructor, and all of the ToolChains that have a Rocm Detector call its 
constructor in their respective initialize list in their constructors.  I need 
a way to tell that detector instance (for a device side toolchain) that it's 
Host ToolChain is windows and to not add the linux search paths.

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

Reply via email to