On 03/16/2016 02:40 AM, Richard Biener wrote:
I like patch 2 more - btw, you need to add has_forced_label_in_static streaming
to lto-streamer-{in,out}.c, just look for has_nonlocal_label streaming. Also
has_label_address_in_static_1 is now unused and should be removed.
I'd already found the la
On Tue, Mar 15, 2016 at 8:42 PM, Richard Henderson wrote:
> On 03/15/2016 07:13 AM, Richard Biener wrote:
>>
>> On Tue, Mar 15, 2016 at 4:44 AM, Richard Henderson wrote:
>>>
>>> The problem here is that
>>>
>>>void* labels[] = {
>>> &&l0, &&l1, &&l2
>>>};
>>>
>>> gets gimplified to
>
On 03/15/2016 07:13 AM, Richard Biener wrote:
On Tue, Mar 15, 2016 at 4:44 AM, Richard Henderson wrote:
The problem here is that
void* labels[] = {
&&l0, &&l1, &&l2
};
gets gimplified to
labels = *.LC0;
but .LC0 is not in the set of local decls, so that when copy_forbidden is
On Tue, Mar 15, 2016 at 4:44 AM, Richard Henderson wrote:
> The problem here is that
>
> void* labels[] = {
> &&l0, &&l1, &&l2
> };
>
> gets gimplified to
>
> labels = *.LC0;
>
> but .LC0 is not in the set of local decls, so that when copy_forbidden is
> called during sra versioning we f
The problem here is that
void* labels[] = {
&&l0, &&l1, &&l2
};
gets gimplified to
labels = *.LC0;
but .LC0 is not in the set of local decls, so that when copy_forbidden is
called during sra versioning we fail to forbid the copy. We could set a
different flag, but I think it's eas