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

Sergei Barannikov via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 17 08:37:56 PDT 2025


================
@@ -986,6 +998,11 @@ void InstrInfoEmitter::run(raw_ostream &OS) {
   InstrNames.layout();
   InstrNames.emitStringLiteralDef(OS, Twine("extern const char ") + TargetName +
                                           "InstrNameData[]");
+  const CodeGenRegBank &RegBank = Target.getRegBank();
+  const CodeGenHwModes &CGH = Target.getHwModes();
+  unsigned NumModes = CGH.getNumModeIds();
+  ArrayRef<const Record *> RegClassByHwMode = Target.getAllRegClassByHwMode();
+  unsigned NumClassesByHwMode = RegClassByHwMode.size();
 
   OS << "extern const unsigned " << TargetName << "InstrNameIndices[] = {";
----------------
s-barannikov wrote:

clang doesn't like initialized extern variables:
https://gcc.godbolt.org/z/KsabWvPKT


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


More information about the llvm-commits mailing list