================
@@ -1119,7 +1119,14 @@ void 
Driver::CreateOffloadingDeviceToolChains(Compilation &C,
     std::vector<std::string> ArgValues =
         C.getInputArgs().getAllArgValues(options::OPT_offload_targets_EQ);
     for (llvm::StringRef Target : ArgValues) {
-      Triples.insert(ToolChain::normalizeOffloadTriple(Target));
+      llvm::Triple T(ToolChain::normalizeOffloadTriple(Target));
+      if (T.isSPIRV() && Kinds.contains(Action::OFK_SYCL)) {
+        if (T.getVendor() == llvm::Triple::UnknownVendor)
+          T.setVendor(llvm::Triple::UnknownVendor);
+        if (T.getOS() == llvm::Triple::UnknownOS)
+          T.setOS(llvm::Triple::UnknownOS);
+      }
----------------
tahonermann wrote:

This seems strange to have to do for SPIR-V only. Why is SPIR-V special in this 
respect?

https://github.com/llvm/llvm-project/pull/218792
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to