[PATCH] D142218: [MC] Store implicit ops immediately after the TargetInsts table. NFC.

Martien de Jong via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 27 00:30:25 PDT 2023


martien-de-jong added inline comments.


================
Comment at: llvm/include/llvm/MC/MCInstrDesc.h:214
   uint64_t TSFlags;              // Target Specific Flag values
-  const MCPhysReg *ImplicitOps;  // List of implicit uses followed by defs
   const MCOperandInfo *OpInfo;   // 'NumOperands' entries about operands
----------------
Could we give OpInfo the same treatment?


================
Comment at: llvm/utils/TableGen/InstrInfoEmitter.cpp:1070
+  OS << "extern const " << TargetName << "InstrTable " << TargetName
+     << "Descs;\n";
   OS << "extern const unsigned " << TargetName << "InstrNameIndices[];\n";
----------------
I'm dreaming of getting rid of these extern auxiliary tables.  Perhaps we can start by packing all of these addresses in a struct that can serve as an interface class? We can then make them static and only export that struct. In the future, that structure will then be the only thing that needs to be relocated.
Hiding the current names would expose the current users.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D142218/new/

https://reviews.llvm.org/D142218



More information about the llvm-commits mailing list