[llvm-dev] [RFC] New pass: LoopExitValues
Steve King via llvm-dev
llvm-dev at lists.llvm.org
Mon Aug 31 10:16:42 PDT 2015
Hello LLVM,
This is a proposal for a new pass that improves performance and code
size in some nested loop situations. The pass is target independent.
>From the description in the file header:
This optimization finds loop exit values reevaluated after the loop
execution and replaces them by the corresponding exit values if they
are available. Such sequences can arise after the
SimplifyIndVals+LoopStrengthReduce passes. This pass should be run
after LoopStrengthReduce.
A former colleague created this pass back in LLVM 2.9 and we've been
using it ever since. I've done some light refactoring and
modernization.
This pass broke 4 existing tests that were sensitive to generated
code. I've corrected all these, but please give them special
scrutiny.
The patch is available here: http://reviews.llvm.org/D12494
Please advise.
Regards,
-steve
More information about the llvm-dev
mailing list