[llvm-dev] [RFC] Switching to MemorySSA-backed Dead Store Elimination (aka cross-bb DSE)

Renato Golin via llvm-dev llvm-dev at lists.llvm.org
Tue Aug 18 07:02:35 PDT 2020

On Tue, 18 Aug 2020 at 14:36, Florian Hahn via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Note that both the current and MemorySSA-backed DSE implementations rely
> on various thresholds to avoid excessive compile-times. There are a few
> knobs to turn to further reduce compile-time of the MemorySSA-backed DSE
> implementation, at the cost of missing to eliminate some stores.The current
> settings are chose so the compile-time difference is limited without
> limiting optimizations too much.

Did you compare the new algorithm with the knobs down enough to take
roughly the same compile time as the old one?

b) Switch to memorySSA-backed DSE, but use more aggressive limits. For some
> configurations (e.g. limit optimizations for -O2/-Os)
> c) Switch to MemorySSA-backed DSE in some configurations (e.g. -O3/-Oz
> only)

If we do switch, and I'm not advocating for that yet, I'd do a mix of

Use slightly more aggressive limits at O2, those limits at O3 and perhaps
add an extra argument to push even further for people who really need it
and can pay the extra compile time.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200818/69578584/attachment.html>

More information about the llvm-dev mailing list