[llvm-dev] Interprocedural DSE for -ftrivial-auto-var-init
Amara Emerson via llvm-dev
llvm-dev at lists.llvm.org
Mon Apr 15 14:02:37 PDT 2019
> On Apr 15, 2019, at 1:51 PM, Vitaly Buka via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> Hi JF,
> I've heard that you are interested DSE improvements and maybe we need to be in sync.
> So far I experimented with following DSE improvements:
> * Cross-block DSE, it eliminates additional 7% stores comparing to existing DSE. But it's not visible on benchmarks.
I take it you couldn’t see any runtime impact? If there’s code size improvements that could also be useful, CTMark in the llvm test suite is a useful subset of benchmarks to check this on (as a baseline use -Os to compare code size).
> * Cross-block + Interprocedural analysis to annotate each function argument with:
> - can read before write
> - will always write
> This annotations gets me 20% stores deleted additional to the current DSE.
> This is on LLVM codebase with -ftrivial-auto-var-init=patter.
> As-is it's less than I expected, so I would like to find good benchmark to decide if we should work to make production code from my experiment.
> So now I am also planing to try to extend that to whole program analysis.
> I will cleanup my code and upload this during this weak, if anyone wants to try.
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
More information about the llvm-dev