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

Chijun Sima via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 18 09:11:53 PST 2019


NutshellySima added a comment.

The improvement is quite fantastic!

> For the incremental updater, I'd usually manually instrument some of the GenericDomTree functions and count the number of nodes visited, times spent doing insertions, deletions, SNCA, etc. You can find some code for it in D50303 <https://reviews.llvm.org/D50303> and D36884 <https://reviews.llvm.org/D36884>. For incremental updates, I just run -O3  on some big bitcode files, like clang, opt, sqlite.
>  ...
>  And then extract bitcode with `get-bc` and feed it into `opt` with `-O3` -- aggressive inlining helps with exercising dominator construction due to larger CFGs.

And I'd like to mention that it's needed to remove this piece of code <https://github.com/llvm/llvm-project/blob/fff628274d462c099c17cbb20fa09beb1b8105f4/llvm/include/llvm/Support/GenericDomTreeConstruction.h#L1193-L1205> 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.


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