[llvm] r207940 - LoopUnroll: If we're doing partial unrolling, use the PartialThreshold to limit unrolling.

Chandler Carruth chandlerc at google.com
Tue May 13 10:56:43 PDT 2014


On Tue, May 13, 2014 at 11:42 AM, Louis Gerbarg <lgg at apple.com> wrote:

> So our internal perf bots are back up and reporting consistent results at
> this point. While we have resolved the regression on Haswell I am still
> seeing some significant regressions on Sandybridge and Penryn even after
> r208289 and r208289:
>
> Sandybridge:
> 17% Slowdown on Bubblesort
> 7% Slowdown on neural
> 25% Slowdown on dynprog
>
> Penryn:
> 55% Slowdown on Bubblesort
> 26% Slowdown on dynprog
>
> I can not with 100% certainty correlate the regressions to this patch
> since there is a several day gap in my data and I don’t have ready access
> to Penryn or SB to regress this myself, but I am pretty certain the limits
> are still not right for those cores and this is exposing it.
>

So, I ran a few benchmarks myself with forced higher thresholds, and in any
larger benchmark I saw no significant gains and started to see reasonably
significant runtime and binary size regressions. I'm a bit hesitant to ramp
this threshold up unless you can confirm with the flag that these
differences are attributable to the lack of unrolling alone, and that
changing it doesn't regress other things....
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140513/ae043dda/attachment.html>


More information about the llvm-commits mailing list