[Patch, updated] Make emulated TLS lto-friendly.

Richard Guenther richard.guenther@gmail.com
Wed Jul 14 08:11:00 GMT 2010


On Tue, Jul 13, 2010 at 11:19 PM, Richard Henderson <rth@redhat.com> wrote:
> On 07/13/2010 01:46 PM, Richard Guenther wrote:
>> On Tue, Jul 13, 2010 at 10:01 PM, Richard Henderson <rth@redhat.com> wrote:
>>> Test #6.  Final?
>>>
>>> Aliases are supposed to work now.
>>
>> The forwprop piece disables propagating &p->foo like addresses which
>> is useful and important.
>
> Hum.  Perhaps the check needs to be pushed farther down into
> forward_propagate_addr_expr{,_1}.  But...
>
>> Also forwprop doesn't propagate into PHIs,
>> so I don't understand what's the issue here (CCP does, though).
>
> The best way I can figure to prevent propagation into PHIs is to declare
> &tlsvar (without native support) to be !is_gimple_{val,min_invariant}.
>
> That change, however, alters the valid arguments to MEM_REF.  In that
> &tlsvar is no longer valid.  Now, one could spend forever slightly
> tweeking all of the myriad predicates involved, but what it comes down
> to is that forwprop does not have the same checks that verify_expr does.

I don't think making TLS vars addresses not function invariant is a
good thing to do.

Why not deal with lowering TLS vars in PHI nodes?  It shold be as simple
as inserting code on the edge.

Richard.

>
>
> r~
>



More information about the Gcc-patches mailing list