This is an archive of the discontinued LLVM Phabricator instance.

[Review Request] Improve getVTList() in SelectionDAG
ClosedPublic

Authored by shawfly on Jul 11 2013, 12:33 AM.

Details

Reviewers
resistor
Summary

In current SelectionDAG::getVTList(), linear search used which is not efficient, especially for BC file with many types. This patch use a simple hashing to accelerate the type searching.

Diff Detail

Event Timeline

shawfly updated this revision to Unknown Object (????).Jul 11 2013, 12:56 AM

What is the motivation for building your own hash table in here rather than using one of our existing structures? DenseSet<EVT, EVT> seems like it would work fine.

shawfly updated this revision to Unknown Object (????).Oct 9 2013, 6:08 AM

Change to use the existing data structure SmallDenseMap.

shawfly updated this revision to Unknown Object (????).Oct 10 2013, 7:29 PM
shawfly updated this revision to Unknown Object (????).Oct 10 2013, 8:24 PM
shawfly updated this revision to Unknown Object (????).Oct 12 2013, 9:26 AM

Use FoldingSet<SDVTListNode> to implement hash.

resistor set the repository for this revision to rL LLVM.
resistor edited subscribers, added: Unknown Object (MLST); removed: resistor.
resistor added a subscriber: resistor.
resistor accepted this revision.Feb 15 2015, 4:33 PM
resistor edited edge metadata.

This was applied a long time ago.

This revision is now accepted and ready to land.Feb 15 2015, 4:33 PM
resistor closed this revision.Feb 15 2015, 4:33 PM