On Thu, Jul 18, 2013 at 12:12 PM, Iain Sandoe <i...@codesourcery.com> wrote:

>> This should be implemented as an expander. You also won't need
>> UNSPEC_NLGR that way.
>
> Now I reload the state from this PR, I recall why this did not work.
>
> in the case:
>
> foo ()
> {
>
>  do stuff that doesn't use the pic reg
>
>  call nested function
>
> nonlocal_label:
>
>  do stuff that uses the pic register.
>
> }
>
> +{
> +  if (crtl->uses_pic_offset_table)
> +    {
> +      rtx xops[3];
>
> crtl->uses_pic_offset_table is not set at the point that "nonlocal_label:" is 
> evaluated.
>
> So, I think we have to use the define_insn_and_split, or am I still missing 
> something?

Just a wild guess, do you also need "&& reload_completed" in the split
condition?

Uros.

Reply via email to