This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH GCC]Improve rtl loop inv cost by checking if the inv can be propagated to address uses
- From: Bernd Schmidt <bschmidt at redhat dot com>
- To: "Bin.Cheng" <amker dot cheng at gmail dot com>, Jeff Law <law at redhat dot com>
- Cc: Bin Cheng <bin dot cheng at arm dot com>, gcc-patches List <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 9 Oct 2015 14:04:47 +0200
- Subject: Re: [PATCH GCC]Improve rtl loop inv cost by checking if the inv can be propagated to address uses
- Authentication-results: sourceware.org; auth=none
- References: <000001d0f9d2$1254f370$36feda50$ at arm dot com> <56092466 dot 30100 at redhat dot com> <5609772B dot 4090809 at redhat dot com> <CAHFci29RrhpKBmVi6qzEJusaCQv2cOwebjjaZH144wL=C0e=sw at mail dot gmail dot com> <CAHFci2-f+uvo85YQsZXkEQjr3tSTNG5DdiVskX9oHuwKBRp_jQ at mail dot gmail dot com>
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