Mark variables addressable if they are copied using libcall in RTL expander

Richard Guenther richard.guenther@gmail.com
Wed Jun 22 13:54:00 GMT 2011


On Wed, Jun 22, 2011 at 3:14 PM, Jakub Jelinek <jakub@redhat.com> wrote:
> On Wed, Jun 22, 2011 at 03:08:21PM +0200, Eric Botcazou wrote:
>> > I fear this isn't enough considering pass-by-value aggregates that
>> > are callee copied.  And I guess there are other cases.  Eric, what
>> > do you suggest here?
>>
>> I agree that there are probably other cases, but this seems to be the best way
>> out for now.  There is still similar code in the expander for asm operands
>> (dominated by the same code in the gimplifier) so calling mark_addressable
>> this late is presumably acceptable.
>
> Won't that cause problems later on during expansion of the same function?
> The decl won't suddenly be a gimple reg anymore.  I mean, shouldn't the
> marking be postponed until expansion finishes?

It's not a register anyway as we've seen a MEM_EXPR with it.

Richard.

>        Jakub
>



More information about the Gcc-patches mailing list