[llvm-branch-commits] [TableGen] Support RegClassByHwMode in CompressPat (PR #171061)

Matt Arsenault via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Mon Dec 8 06:38:01 PST 2025


================
@@ -801,9 +797,14 @@ void CompressInstEmitter::emitCompressInstEmitter(raw_ostream &OS,
               if (EType == EmitterType::CheckCompress)
                 CondStream << " && MI.getOperand(" << OpIdx
                            << ").getReg().isPhysical()";
-              CondStream << CondSep << TargetName << "MCRegisterClasses["
-                         << TargetName << "::" << ClassRec->getName()
-                         << "RegClassID].contains(MI.getOperand(" << OpIdx
+              CondStream << CondSep << TargetName << "MCRegisterClasses[";
+              if (ClassRec->isSubClassOf("RegClassByHwMode"))
+                CondStream << "STI.getInstrInfo().getOpRegClassID("
+                           << "MI.getDesc().operands()[" << OpIdx << "])";
+              else
+                CondStream << TargetName << "::" << ClassRec->getName()
+                           << "RegClassID";
----------------
arsenm wrote:

```suggestion
              if (ClassRec->isSubClassOf("RegClassByHwMode")) {
                CondStream << "STI.getInstrInfo().getOpRegClassID("
                           << "MI.getDesc().operands()[" << OpIdx << "])";
              } else {
                CondStream << TargetName << "::" << ClassRec->getName()
                           << "RegClassID";
              }                         
```

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


More information about the llvm-branch-commits mailing list