[PATCH GCC]Improve rtl loop inv cost by checking if the inv can be propagated to address uses

Bernd Schmidt bschmidt@redhat.com
Fri Oct 9 12:04:00 GMT 2015


On 10/09/2015 02:00 PM, Bin.Cheng wrote:
> I further bootstrap and test attached patch on aarch64.  Also three
> cases in spec2k6/fp are improved by 3~6%, two cases in spec2k6/fp are
> regressed by ~2%.  Overall score is improved by ~0.8% for spec2k6/fp
> on aarch64 of my run.  I may later analyze the regression.
>
> So is this patch OK?

I'll approve this with one change, but please keep an eye out for 
performance regressions on other targets.

>      * loop-invariant.c (struct def): New field cant_prop_to_addr_uses.
>      (inv_cant_prop_to_addr_use): New function.

I would like these to have switched truthvalues, i.e. 
can_prop_to_addr_uses, inv_can_prop_to_addr_use. Otherwise we end up 
with double negations like !def->cant_prop_to_addr_uses which can be 
slightly confusing.

You'll probably slightly need to tweak the initialization when 
n_addr_uses goes from zero to one.


Bernd



More information about the Gcc-patches mailing list