[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