Skip to content
  • Andrew Trick's avatar
    Enable SCEV-based unrolling by default. · 31b941a6
    Andrew Trick authored
    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.
    
    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.
    
    llvm-svn: 139009
    31b941a6
Loading