[llvm-dev] Request suggestions about how to remove redundencies caused by SCEV expansion fundementally
Sanjoy Das via llvm-dev
llvm-dev at lists.llvm.org
Mon Aug 29 13:51:17 PDT 2016
Wei Mi wrote:
> To rephrase it and see if I understand it correctly:
> Existing Value A;
> Expanded Value B (B is identical with A, but in a different form);
> So we can convert both A and B to SCEV again and compare their
> equivalence and use the result to guide strength reduction. It is like
> to enhance existing cleanup pass using the SCEV CSE rules.
Yes. And we don't necessarily have to worry about exact matches
either, we can (for instance) check if getMinusSCEV(getSCEV(A),
getSCEV(B)) is a constant, and use that to cheaply expand B.
> Or the idea of simplify is to transform B back to the form close to A
> with SCEV knowledge?
No, that's not what I had in mind.
More information about the llvm-dev