This is an archive of the discontinued LLVM Phabricator instance.

[AMDGPU] remove unused AssemblerPredicates
ClosedPublic

Authored by msearles on Feb 21 2019, 9:48 AM.

Details

Summary

An internal build is hitting asserts complaining about too many subtarget features:

llvm/utils/TableGen/Types.cpp:42: const char* llvm::getMinimalTypeForEnumBitfield(uint64_t): Assertion `MaxIndex <= 64 && "Too many bits"' failed.
llvm/utils/TableGen/AsmMatcherEmitter.cpp:1476: void {anonymous}::AsmMatcherInfo::buildInfo(): Assertion `SubtargetFeatures.size() <= 64 && "Too many subtarget features!"' failed.

The short-term solution is to remove a few unused AssemblerPredicates to get under the limit.

The long-term solution seems to be to revisit these asserts. E.g., rather than hardcoded '64', use the standard sized std::bitset like the other places that track subtarget features.

Diff Detail

Repository
rL LLVM

Event Timeline

msearles created this revision.Feb 21 2019, 9:48 AM
arsenm added inline comments.Feb 21 2019, 9:50 AM
lib/Target/AMDGPU/AMDGPU.td
731 ↗(On Diff #187811)

I think this isn't used either

msearles updated this revision to Diff 187814.Feb 21 2019, 9:59 AM

Address reviewer feedback - remove unused 'NotHasVOP3PInsts'

msearles marked an inline comment as done.Feb 21 2019, 9:59 AM
arsenm accepted this revision.Feb 21 2019, 10:12 AM

LGTM

This revision is now accepted and ready to land.Feb 21 2019, 10:12 AM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptFeb 21 2019, 10:19 AM