[llvm] [TableGen] Expose remapRegClassByHwMode helper in AsmMatcher (PR #223302)

via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 13 21:44:12 PDT 2026


github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {clang-format}-->


:warning: C/C++ code formatter, clang-format found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff origin/main HEAD --extensions cpp -- llvm/utils/TableGen/AsmMatcherEmitter.cpp --diff_from_common_commit
``````````

:warning:
The reproduction instructions above might return results for more than one PR
in a stack if you are using a stacked PR workflow. You can limit the results by
changing `origin/main` to the base branch/commit you want to compare against.
:warning:

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/llvm/utils/TableGen/AsmMatcherEmitter.cpp b/llvm/utils/TableGen/AsmMatcherEmitter.cpp
index 78838dd97..4a619883b 100644
--- a/llvm/utils/TableGen/AsmMatcherEmitter.cpp
+++ b/llvm/utils/TableGen/AsmMatcherEmitter.cpp
@@ -2678,9 +2678,8 @@ static void emitRegClassByHwModeMatchTable(const CodeGenTarget &Target,
       const HwModeSelect &ModeSelect = CGH.getHwModeSelect(Class);
 
       auto FoundMode =
-          find_if(ModeSelect.Items, [=](const HwModeSelect::PairType P) {
-            return P.first == M;
-          });
+          find_if(ModeSelect.Items,
+                  [=](const HwModeSelect::PairType P) { return P.first == M; });
 
       if (FoundMode == ModeSelect.Items.end()) {
         OS << "    InvalidMatchClass, // Missing mode entry for "
@@ -2688,8 +2687,7 @@ static void emitRegClassByHwModeMatchTable(const CodeGenTarget &Target,
       } else {
         const CodeGenRegisterClass *RegClass =
             RegBank.getRegClass(FoundMode->second);
-        const ClassInfo *CI =
-            Info.RegisterClassClasses.at(RegClass->getDef());
+        const ClassInfo *CI = Info.RegisterClassClasses.at(RegClass->getDef());
         OS << "    " << CI->Name << ", // " << Class->getName() << "\n";
       }
     }
@@ -2704,10 +2702,13 @@ static void emitRegClassByHwModeMatchTable(const CodeGenTarget &Target,
 
   OS << "[[maybe_unused]] static inline MatchClassKind\n"
      << "remapRegClassByHwMode(unsigned Kind, const MCSubtargetInfo &STI) {\n"
-     << "  if (Kind > MCK_LAST_REGISTER && Kind <= MCK_LAST_REGCLASS_BY_HWMODE) {\n"
-     << "    unsigned HwMode = STI.getHwMode(MCSubtargetInfo::HwMode_RegInfo);\n"
+     << "  if (Kind > MCK_LAST_REGISTER && Kind <= "
+        "MCK_LAST_REGCLASS_BY_HWMODE) {\n"
+     << "    unsigned HwMode = "
+        "STI.getHwMode(MCSubtargetInfo::HwMode_RegInfo);\n"
      << "    assert(HwMode < " << NumModes << " && \"Invalid HwMode\");\n"
-     << "    return RegClassByHwModeMatchTable[HwMode][Kind - (MCK_LAST_REGISTER + 1)];\n"
+     << "    return RegClassByHwModeMatchTable[HwMode][Kind - "
+        "(MCK_LAST_REGISTER + 1)];\n"
      << "  }\n"
      << "  return static_cast<MatchClassKind>(Kind);\n"
      << "}\n\n";

``````````

</details>


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


More information about the llvm-commits mailing list