Reload question

Mark Mitchell mark@codesourcery.com
Fri Jul 26 16:35:00 GMT 2002



--On Friday, July 26, 2002 12:18:10 PM +0100 Bernd Schmidt 
<bernds@redhat.com> wrote:

> On Thu, 25 Jul 2002, Mark Mitchell wrote:
>
>> >     In reload, after doing register allocation, we do, in "reload()":
>> >
>> >     That mutates the instruction in place, with the possible result
>> >     that it is no longer recognizable.
>> >
>> >     Who is supposed to be responsible for making the instruction
>> >     recognizable again?
>> >
>> > Reload itself.  The insn won't match its constraints.
>>
>> But this happens *at the end* of reload.  Search for:
>>
>>    PUT_CODE (reg, MEM)
>>
>> in reload1.c.
>>
>> So, where in reload is the instruction supposed to be checked to see
>> that it is safe to make this transmogrification?
>
> find_reloads.  If the modification isn't safe, we'll make a reload for
> the operand and thus ensure that when we get to the code that modifies
> pseudos into MEMs, the transformation is correct.

Thanks; that helped.  I think I understand now what's wrong.

Thanks!

--
Mark Mitchell                   mark@codesourcery.com
CodeSourcery, LLC               http://www.codesourcery.com



More information about the Gcc mailing list