[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).

Thanks,
Amara
> 
> * 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.
> 
> Vitaly.
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev



More information about the llvm-dev mailing list