This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


On 09/28/2015 05:28 AM, Bernd Schmidt wrote:
On 09/28/2015 11:43 AM, Bin Cheng wrote:
Bootstrap and test on x86_64 and x86_32.  Will test it on aarch64.  So
any
comments?

Thanks,
bin

2015-09-28  Bin Cheng  <bin.cheng@arm.com>

    * loop-invariant.c (struct def): New field cant_fwprop_to_addr_uses.
    (inv_cant_fwprop_to_addr_use): New function.
    (record_use): Call inv_cant_fwprop_to_addr_use, set the new field.
    (get_inv_cost): Count cost if inv can't be propagated into its
    address uses.

It looks at least plausible.
Definitely plausible. Many targets have restrictions on the immediate offsets, so this potentially affects many targets (in a good way).



 Another option which I think has had some
discussion recently would be to just move everything, and leave it to
cprop to put things back together if the costs allow it.
I go back and forth on this kind of approach.

jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]