================
@@ -63,3 +64,26 @@ std::string llvm::IntelGPU::getNumericArchName(uint32_t 
GPUIPVersion) {
   return ("xe_" + Twine(Major) + "." + Twine(Minor) + "." + Twine(Revision))
       .str();
 }
+
+IGCATarget llvm::IntelGPU::parseIGCATarget(StringRef MaybeTarget) {
+  return StringSwitch<IGCATarget>(MaybeTarget)
+#define INTEL_IGCA_TARGET(NAME, TARGET, FEATURE_SET)                           
\
+  .Case(NAME, IGCATarget(TARGET, IGCAFeatureSet::FEATURE_SET))
+#include "llvm/TargetParser/IntelGPUTargetParser.def"
+      .Default(IGCATarget::invalid());
+}
+
+StringRef llvm::IntelGPU::getIGCATargetName(IGCATarget T) {
+  switch (T.pack()) {
+#define INTEL_IGCA_TARGET(NAME, TARGET, FEATURE_SET)                           
\
+  case IGCATarget(TARGET, IGCAFeatureSet::FEATURE_SET).pack():                 
\
+    return NAME;
+#include "llvm/TargetParser/IntelGPUTargetParser.def"
+  default:
+    return "";
+  }
+}
+
+// FIXME(IGCA): Make -fsycl --offload-arch provides a list of valid IGCA
+// targets upon a bad IGCA target, similar to how compiling for an nvptx triple
+// returns a list of valid GPU architectures.
----------------
tahonermann wrote:

If you already have a plan to address this, then the FIXME comment probably 
isn't necessary. This isn't documenting a bug, so it isn't particularly helpful 
here. Feature additions are better tracked as github issues.

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

Reply via email to