[llvm-dev] Canonicalize induction variables

Tobias Grosser via llvm-dev llvm-dev at lists.llvm.org
Wed Aug 31 14:30:26 PDT 2016


On Wed, Aug 31, 2016, at 10:39 PM, Sanjoy Das via llvm-dev wrote:
> [+CC llvm-dev]
> 
> On Wed, Aug 31, 2016 at 1:36 PM, Yaoqing Gao <yaoqing.gao at gmail.com>
> wrote:
> > Hi,
> > Regarding the question about "why do you care about having a canonical
> > induction variable",  we expect it can simplify loop transformations without
> > redundant analysis. Some loop (nest) transformations can be skipped earlier
> > if they don't have a canonical induction variable.
> 
> Can you be more specific here (about the transforms and analyses
> that you expect to be able to simplify)?
> 
> I'm asking because while it won't be super difficult to make indvars
> turn as many
> induction variables into canonical induction variables, I'd like to
> understand
> the problem you're trying to solve first.

Also, just as a historical note. indvars was at some point able to do
this, but this "feature" has been removed as it introduced performance
regressions on hand optimized code that have been very difficult to
avoid in the strenght reduce phase.

Best,
Tobias


More information about the llvm-dev mailing list