------- Comment #36 from chrbr at gcc dot gnu dot org  2010-02-10 12:02 -------
(In reply to comment #33)
> Your fix of the middle end looks plausible but I think the target
> shouldn't generate a CP at the eh landing pad anyway.  I'll commit
> the hunk below anyway after your patch for pic problem is installed.
> 

done, you can commit your w/a.

> @@ -4654,6 +4654,13 @@ find_barrier (int num_mova, rtx mova, rt
>        if (last_got)
>         from = PREV_INSN (last_got);
> 
> +      /* Don't insert the constant pool table at the position which
> +        may be the landing pad.  */
> +      if (flag_exceptions
> +         && CALL_P (from)
> +         && find_reg_note (from, REG_EH_REGION, NULL_RTX))
> +       from = PREV_INSN (from);
> +
>        /* Walk back to be just before any jump or label.
>          Putting it before a label reduces the number of times the branch
>          around the constant pool table will be hit.  Putting it before
> 


-- 

chrbr at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42841

Reply via email to