[llvm] [DirectX][NFC] Model precise overload type specification of DXIL Ops (PR #83917)

Justin Bogner via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 11 09:14:37 PDT 2024


================
@@ -219,6 +269,20 @@ static std::string getOverloadKindStr(MVT::SimpleValueType VT) {
     return "OverloadKind::I16 | OverloadKind::I32 | OverloadKind::I64";
   case MVT::fAny:
     return "OverloadKind::HALF | OverloadKind::FLOAT | OverloadKind::DOUBLE";
+  case MVT::Other:
+    // Handle DXIL-specific overload types
+    {
+      auto RetStr =
+          StringSwitch<std::string>(R->getNameInitAsString())
+              .Case("llvm_i16ori32_ty", "OverloadKind::I16 | OverloadKind::I32")
+              .Case("llvm_halforfloat_ty",
+                    "OverloadKind::HALF | OverloadKind::FLOAT")
----------------
bogner wrote:

Are these the only two instances of these sets of types that are needed for all of the DXIL ops? If there are others, are they always two types or could it be a larger set?

https://github.com/llvm/llvm-project/pull/83917


More information about the llvm-commits mailing list