RTL CSE picking simpler but more expensive expressions (re: PR 65932)
Jeff Law
law@redhat.com
Thu Jan 14 17:20:00 GMT 2016
On 01/14/2016 03:15 AM, Kyrill Tkachov wrote:
> There are cases where calls to fold_rtx with a non-NULL insn don't
> end up modifying src, ending up in src to not be always equal to
> src_folded (I added an assert to that effect and saw it trigger). It
> seems that fold_rtx is not *guaranteed* to modify src if insn is
> non-NULL, but it just does in many cases.
Right. That's roughly what I'd expect.
>
>> Alternately you could compute stuff for "SRC" prior to the call to
>> fold_rtx. It's less likely to have unexpected side effects.
>>
>> My inclination would be to go with changing INSN to NULL though. It
>> seems to match the overall intent here better.
>>
>
> I agree and, as I said, I saw no impact on codegen for all of
> SPEC2006 on arm. It just improved the testcase I described above.
> I'll evaluate this patch on aarch64 and x86_64 and hopefully it has a
> low impact there as well.
Sounds good.
jeff
More information about the Gcc
mailing list