[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