This is an archive of the discontinued LLVM Phabricator instance.

[LoopUnroll] Don't verify domtree by default with +Asserts.
ClosedPublic

Authored by efriedma on Nov 19 2018, 3:37 PM.

Details

Summary

domtree verification is linear in the size of the function, so it can cause a quadratic compile-time explosion in a function with many loops to unroll.

Diff Detail

Repository
rL LLVM

Event Timeline

efriedma created this revision.Nov 19 2018, 3:37 PM
davide accepted this revision.Nov 19 2018, 3:41 PM

LGTM. Given this is under EXPENSIVE_CHECK, we might consider a more thorough verification?

This revision is now accepted and ready to land.Nov 19 2018, 3:41 PM
kuhar accepted this revision.Nov 20 2018, 11:11 AM
kuhar added inline comments.
lib/Transforms/Utils/LoopUnrollPeel.cpp
617 ↗(On Diff #174699)

It would be interesting to see if replacing this with the DomTreeUpdater affects performance much.

This revision was automatically updated to reflect the committed changes.