[llvm] Reapply "[CodeGen] Remove `applySplitCriticalEdges` in `MachineDominatorTree` (#97055)" (PR #98446)

via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 24 01:26:01 PDT 2024


paperchalice wrote:

> New results: http://llvm-compile-time-tracker.com/compare.php?from=7d0a5848f2c72854d7d5a795fcc265b8ba787782&to=5217cd0fbdaa35fee4fddf69eaa89f5a381cd37c&stat=instructions:u

It still has significant performance impact.

> I didn't look too closely into this, but note that one of the ways to use DTU is to make all the DT accesses go through it, i.e. DTU->getDomTree(). This should be very close to what the code previously did.
> 
> Whether this makes a difference depends on whether the overhead here is due to still too many unbatched DT updates, or because DTU is just less efficient than the previous code for these updates.

Try to use lazy strategy in `MachineLICM`.
The initial code is optimized for critical edges, so there is a performance penalty when using generic update method.


https://github.com/llvm/llvm-project/pull/98446


More information about the llvm-commits mailing list