------- 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