[llvm-commits] [llvm] r139009 - /llvm/trunk/lib/Transforms/Scalar/LoopUnrollPass.cpp

Nick Lewycky nicholas at mxc.ca
Mon Sep 5 11:14:00 PDT 2011


Andrew Trick wrote:
> Author: atrick
> Date: Fri Sep  2 12:26:28 2011
> New Revision: 139009
>
> URL: http://llvm.org/viewvc/llvm-project?rev=139009&view=rev
> Log:
> Enable SCEV-based unrolling by default.
>
> This changes loop unrolling to use the same mechanism for trip count
> computation as indvars. This is a stronger check that tends to unroll
> more loops. A very common side-effect is that many single iteration
> loops will be removed sooner. The real goal was simply to remove
> dependence on canonical IVs.

Great!

> x86 is break even.
> ARM performance changes to expect (+ is good):
> External/SPEC/CFP2000/183.equake/183.equake +13%
> SingleSource/Benchmarks/Dhrystone/fldry     +21%
> MultiSource/Applications/spiff/spiff         +3%
> SingleSource/Benchmarks/Stanford/Puzzle     -14%
>
> The Puzzle regression is actually an improvement in loop optimization
> that defeats GVN: rdar://problem/10065079.

PR, please?

Nick



More information about the llvm-commits mailing list