[PATCH] D59002: Use bitset for assembler predicates
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 8 17:21:16 PST 2019
craig.topper accepted this revision.
craig.topper added a comment.
This revision is now accepted and ready to land.
LGTM
================
Comment at: utils/TableGen/AsmMatcherEmitter.cpp:3392
<< " ConvertFn;\n";
- OS << " " << getMinimalTypeForEnumBitfield(Info.SubtargetFeatures.size())
- << " RequiredFeatures;\n";
+ OS << " " << "unsigned RequiredFeaturesIdx;\n";
OS << " " << getMinimalTypeForRange(
----------------
rampitec wrote:
> craig.topper wrote:
> > Surely we can bound this to less than a full unsigned? X86 uses almost no features in the assembler which means we can probably use a uint8_t and MatchEntry is used about 28000 times. So that's going to save like 3 * 28000 bytes just from X86.
> BTW, table is now smaller. It used to be full 64 bit before per record. OperandMatchEntry can also be rearranged to save on padding now.
It wasn't a full 64 bit before, getMinimalTypeForEnumBitfield was making it uint8_t for X86.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D59002/new/
https://reviews.llvm.org/D59002
More information about the llvm-commits
mailing list