[PATCH] D58327: [Dominators] Simplify and optimize path compression used in link-eval forest.

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 19 01:30:08 PST 2019


MaskRay added a comment.

> And I'd like to mention that it's needed to remove this piece of code which makes the incremental updater fallback to DominatorTree reconstruction when the number of updates is quite large relative to the number of DomTree nodes from GenericDomTreeConstruction.h before testing the performance of the incremental updater. I believe it can make improvement of the incremental updater more observable.

Thanks for the note. I have a better understanding now. See my other 2 patches D58369 <https://reviews.llvm.org/D58369> D58373 <https://reviews.llvm.org/D58373> in the area :)

I am now testing with `IRTests` `check-llvm-analysis` during development and `check-llvm` `check-all` when about to send out a patch.

Comparing the results of `opt -passes='default<O3>,function(print<domtree>)' -disable-output` (llvm-link.bc,llvm-as.bc,sqlite3.bc,...) give some more confidence.

I don't expect this patch to have perceivable performance boost.. Maybe there is a bit. Ran `time opt -domtree -disable-output < ~/llvm/GLLVM/bin/clang-9.bc` several times with and without the patch:

Before: 1:05.27 1:05.45 1:05.46 1:06.96 1:05.25 1:04.58
After: 1:05.71 1:04.49 1:03.50 1:05.14 1:05.04 1:03.77


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D58327/new/

https://reviews.llvm.org/D58327





More information about the llvm-commits mailing list