This is an archive of the discontinued LLVM Phabricator instance.

AttributeSetNode: Summarize existing attributes in a bitset.
ClosedPublic

Authored by MatzeB on Jan 26 2016, 7:39 PM.

Details

Summary

The majority of queries just checks for the existince of an enum
attribute. We only have 48 of those and can summaryiz them in an
uint64_t bitfield so we can avoid searching the list. This improves
"opt" compile time by 1-4% in my measurements.

Diff Detail

Repository
rL LLVM

Event Timeline

MatzeB updated this revision to Diff 46090.Jan 26 2016, 7:39 PM
MatzeB retitled this revision from to AttributeSetNode: Summarize existing attributes in a bitset..
MatzeB updated this object.
MatzeB added reviewers: void, bkramer, jyknight, hfinkel.
MatzeB set the repository for this revision to rL LLVM.
MatzeB added a subscriber: llvm-commits.
pete accepted this revision.Jan 29 2016, 1:54 PM
pete edited edge metadata.

LGTM.

If the uint64_t becomes an issue then I think we can fix it later (std::bitset perhaps), but for now this is a good change.

This revision is now accepted and ready to land.Jan 29 2016, 1:54 PM
This revision was automatically updated to reflect the committed changes.

Thanks for the review