[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