[PATCH] D13708: AArch64: Disable the latency heuristic

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 22 10:58:57 PDT 2015


Thanks for benchmarking. TL;DR: I will change the policy only for Cyclone CPUs.

For the record: I re-checked my results of the llvm-testsuite though I tend to see them less critical than the "big benchmarks" spec*, geekbench* for which the change is neutral for all but two benchmarks which improve by ~10%.

Over the whole llvm-testsuite I have a bunch of ups and downs. Most of the ones in my top 20 are just noisy benchmarks, enc-pc1 regressed only 1% for me which relates to me not seeing any important changes in the assembly, salsa20 shows a 7% regression and it appears to be the first genuine testcase I see where the latency heuristic makes sense because there is indeed a very long loop containing just arithmetic instructions where latency hiding has an effect even on out-of-order CPUs (though it's somewhat unfortunate because the sourcecode was already scheduled in a nice way, llvm performs some impressive load/store optimisations on the benchmark but also reorders the instructions somewhere making the scheduling heuristic necessary. On the other hand I see an improvement of 15% in matmul_f64_4x4.

- Matthias

> On Oct 21, 2015, at 8:13 AM, James Molloy via llvm-commits <llvm-commits at lists.llvm.org> wrote:
> 
> jmolloy added a comment.
> 
> Hi Matthias,
> 
> Sorry for taking so long to spot this on my backlog.
> 
> I've just run a bunch of benchmarking, and I can fairly conclusively say that your patch reduces performance overall on both Cortex-A57 and Cortex-A53 (although with a mutually exclusive set of benchmarks, which is abnormal).
> 
> I see a 43% regression in lnt.MultiSource/Benchmarks/Trimaran/enc-pc1/enc-pc1 on Cortex-A57, and a 15% regression on lnt.SingleSource/Benchmarks/Misc/salsa20 on Cortex-A53 (there are many more regressions and some improvements - these are just the top).
> 
> So I think this should indeed be gated on Cyclone.
> 
> James
> 
> 
> Repository:
>  rL LLVM
> 
> http://reviews.llvm.org/D13708
> 
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list