[RFA][PATCH][middle-end/53623] Improve extension elimination

Jeff Law law@redhat.com
Wed Jan 8 06:05:00 GMT 2014

On 12/20/13 13:44, Jeff Law wrote:
> On 12/20/13 10:25, Jakub Jelinek wrote:
>> Yes.  So my suggestion actually was not correct for that:
>>    && !reg_overlap_mentioned_p (dest, XEXP (src, 0))
>> because the first extension above has r1:SI and r2:DI which don't
>> overlap, only r1:DI and r2:DI overlap.  So it probably should be checked
>> in combine_reaching_defs instead where you have already both the
>> registers
>> in the right modes available and can call reg_overlap_mentioned_p on them
>> directly.  One argument would be SET_DEST (def_insn) and one SET_DEST
>> (cand->insn), right?
> Here's the updated version.
> 1. Minor test tweak per Uros's suggestion.
> 2. Fix formatting
> 3. Add testing for two destinations overlapping per above.
> Bootstrapped and regression tested on x86_64-unknown-linux-gnu.  Ok for
> the trunk?
Committed after private email approval from Jakub.  I made one 
additional trivial change (missing whitespace in a comment).


More information about the Gcc-patches mailing list