Reload with jump_insn that have a 'set' side effect.

Hendrik Greving hendrik.greving.intel@gmail.com
Wed Sep 18 15:17:00 GMT 2013


Yes thanks it worked out exactly like you said. I first made the
mistake to constrain the match_scratch 'rX' and then wondering why I
am still seeing a scratch after reload. I realized you were talking
about a real alternative 'r,X'.
Regards,
Hendrik Greving



On Wed, Sep 18, 2013 at 12:26 AM, Richard Sandiford
<rdsandiford@googlemail.com> wrote:
> Hendrik Greving <hendrik.greving.intel@gmail.com> writes:
>> One follow-up question here. Is it of any disadvantage to always
>> generate a clobber (scratch) during expansion? Meaning that in the
>> case we don't need one (we won't split, which I am checking with
>> memory_operand(myoutput_operand), that register won't get allocated
>> and adds to register pressure, does it?
>
> Yeah, the idea is that if the match_scratch isn't needed for a particular
> alternative, the constraint for that alternative should be "X" rather than
> a register class.  That way the (scratch) stays a (scratch) even after
> register allocation.
>
> Thanks,
> Richard



More information about the Gcc mailing list