Page MenuHomePhabricator

[Tablegen] Optimize isSubsetOf() in AsmMatcherEmitter.cpp
ClosedPublic

Authored by kariddi on Jul 9 2018, 7:56 PM.

Details

Summary

isSubsetOf() could be very slow if the hierarchy of the RegisterClasses of the target is very complicated.

This is mainly caused by the fact that isSubset() is called multiple times over the same SuperClass of a register class if this ends up being the super class of a register class from multiple paths.

Diff Detail

Repository
rL LLVM

Event Timeline

kariddi created this revision.Jul 9 2018, 7:56 PM

LGTM, with one not-critical comment about comment placement.

utils/TableGen/AsmMatcherEmitter.cpp
278 ↗(On Diff #154759)

Perhaps this comment should go about the declarations immediate before it.

278 ↗(On Diff #154759)

s/about/above/

Thanks David. I'll address your comment in my commit

This revision was not accepted when it landed; it landed in state Needs Review.Jul 13 2018, 9:41 AM
Closed by commit rL337020: [Tablegen] Optimize isSubsetOf() in AsmMatcherEmitter.cpp. NFC (authored by mggm, committed by ). · Explain Why
This revision was automatically updated to reflect the committed changes.