[PATCH] D32776: Enable branch coalescing on PowerPC

Lei Huang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 10 09:45:54 PDT 2017


lei added a comment.

In https://reviews.llvm.org/D32776#746781, @echristo wrote:

> Hrm.
>
> I can think of three ways to enable this:
>
> a) Enable it all the time, this would take some benchmarking across platforms, but I think is the right long term direction.
>  b) Add it as a pass in the backend, and use something like a lambda passed into the constructor to conditionalize it if you want (see inline question below)
>  c) Do this for now, but do all of the work in a as well to turn it on (i.e. a above) and remove the subtarget query (caveat of the inline question below).
>
> I guess this comes down to my (now expanded) inline question of:
>
> why don't we just want this on all the time on all targets?


Investigation into this is now being done.

> One additional followup question:
> 
> Did you see any other performance changes across spec/lnt? Any degredations? Any other benchmark runs?

The only performance run I did so far is SPEC2006 on a power8 LE machine.
A speed up of > 1 means better performance with branch coalescing enabled.  Based on the speed up below, we see a 11% improvement for lbm and 28% improvement for mcf.

Benchmark	Speed Up
433.milc	        0.997
444.namd	1.000
450.soplex	1.002
453.povray	0.995
470.lbm	        1.112
482.sphinx3	1.006
400.perlbench      1.001
401.bzip2	       1.000
403.gcc	               1.067
429.mcf	               1.284
445.gobmk	       1.001
456.hmmer	       1.000
458.sjeng	       1.000
462.libquantum    1.025
464.h264ref	       0.997
473.astar	       0.998
483.xalancbmk     1.043

> Thanks!
> 
> -eric


https://reviews.llvm.org/D32776





More information about the llvm-commits mailing list