[LLVMdev] [3.6 Release] RC3 has been tagged

Jack Howarth
2015-02-15T14:05:49Z

What are the acceptable performance regressions in the generated
code for a llvm release? We seem to be badly regressed in some
benchmarks (which I first noticed from the review of 3.6-rc1 at
http://www.phoronix.com/scan.php?page=article&item=llvm-clang-3.5-3.6-rc1).
This same issue has also been reported in
http://llvm.org/bugs/show_bug.cgi?id=22058. In the case of the 22%
performance degradation in SciMark2's Sparse matmult benchmark, I have
identified both commits that contribute equally to this regression in
http://llvm.org/bugs/show_bug.cgi?id=22589...

Author: mcrosier
Date: Wed Sep 17 09:10:33 2014
New Revision: 217953

URL: http://llvm.org/viewvc/llvm-project?rev=217953&view=rev
Log:
[IndVarSimplify] Widen loop compare instructions.

This improves other optimizations such as LSR.  A sext may be added to the
compare's other operand, but this can often be hoisted outside of the loop.

Added:
    llvm/trunk/test/Transforms/IndVarSimplify/widen-loop-comp.ll
Modified:
    llvm/trunk/lib/Transforms/Scalar/IndVarSimplify.cpp
    llvm/trunk/test/Transforms/IndVarSimplify/no-iv-rewrite.ll
    llvm/trunk/test/Transforms/IndVarSimplify/verify-scev.ll

and

Author: mzolotukhin
Date: Thu Nov 20 14:19:55 2014
New Revision: 222451

URL: http://llvm.org/viewvc/llvm-project?rev=222451&view=rev
Log:
Fix a trip-count overflow issue in LoopUnroll.

Currently LoopUnroll generates a prologue loop before the main loop
body to execute first N%UnrollFactor iterations. Also, this loop is
used if trip-count can overflow - it's determined by a runtime check.

However, we've been mistakenly optimizing this loop to a linear code for
UnrollFactor = 2, not taking into account that it also serves as a safe
version of the loop if its trip-count overflows.

Added:
    llvm/trunk/test/Transforms/LoopUnroll/tripcount-overflow.ll
Modified:
    llvm/trunk/lib/Transforms/Utils/LoopUnrollRuntime.cpp
    llvm/trunk/test/Transforms/LoopUnroll/runtime-loop1.ll

Hopefully these issues can be triaged before the final release Better
a delayed release than one that is badly regressed in performance.
              Jack

On Thu, Feb 12, 2015 at 10:46 PM, Hans Wennborg <hans at chromium.org>
wrote:
> Hello testers,
>
> Start your engines, RC3 has just been tagged (at r229050 on the
> branch). If this one looks good, it will become the release.
>
> There has been quite a bit of activity on the branch since RC2; let's
> hope it's all goodness :-)
>
> Please let me know how it looks, and upload binaries to the sftp as usual.
>
> Thanks for all your efforts so far!
>
>  - Hans
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev