[llvm] CodeGen: Add RegisterClass by HwMode (PR #158269)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 15 04:41:48 PDT 2025


================
@@ -1693,24 +1755,26 @@ static std::string findOperandDecoderMethod(const Record *Record) {
   if (String) {
     Decoder = String->getValue().str();
     if (!Decoder.empty())
-      return Decoder;
+      return {Decoder, false};
   }
 
   if (Record->isSubClassOf("RegisterOperand"))
     // Allows use of a DecoderMethod in referenced RegisterClass if set.
-    return findOperandDecoderMethod(Record->getValueAsDef("RegClass"));
+    return findOperandDecoderMethod(Target, Record->getValueAsDef("RegClass"));
 
   if (Record->isSubClassOf("RegisterClass")) {
     Decoder = "Decode" + Record->getName().str() + "RegisterClass";
+  } else if (Record->isSubClassOf("RegClassByHwMode")) {
----------------
arsenm wrote:

It's calling an explicitly generated switch function here, I don't think it's a good idea to pretend it's a pure register class 

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


More information about the llvm-commits mailing list