================
@@ -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