[LLVMdev] Landing my new development on the trunk ...

Brian West bnwest at rice.edu
Fri Oct 29 12:20:17 PDT 2010


On 10/29/10 1:26 PM, Eli Friedman wrote:
> Sure, but you know which induction variables you created; you can just
> zap the unused ones at the end of the pass, no?
This is feasible.  We would have to collect more information during OSR 
proper pass and add logic to cleanup at the end.

>> FWIW I noticed that other optimizations (as seen in StandardPasses.h) are
>> followed by -instcombine for cleanup. I thought requiring or suggesting
>> running
>> -instcombine after -osr would be SOP.
>
> Strength reduction is sort of a special case; it runs extremely late
> because it interferes with other optimizations.
>
>> FWIW2 our intent in creating OSR was not to replace LSR, just provide an
>> alternative strength reduction optimization.
>
> Sure, but if it can't be used as an alternative to LSR, how would it be used?

The PACE project intends to use LLVM to perform lower level 
optimizations in its compiler.  OSR would be another optimization that 
it would have in its bag of tricks.  Remember that OSR finds reductions 
that LSR does not.

For code generation, the PACE compiler can use the LLVM C Backend (plus 
the native compiler) or the LLVM native backend (if available) or just 
the native compiler.  Thus, when the PACE compiler uses LLVM, LSR may 
not be run.

I suspect that there may be other LLVM C Backend users who could use OSR 
as well, right?

> -Eli
Brian




More information about the llvm-dev mailing list