From: Jeff Law Date: Sat, 13 Mar 1993 21:47:54 +0000 (-0700) Subject: pa.c (eligible_for_epilogue_delay): Insns which access %r2 can not be used to... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=45586a95c2454499681930fd87a5e7d3db6bbc34;p=gcc.git pa.c (eligible_for_epilogue_delay): Insns which access %r2 can not be used to... * pa.c eligible_for_epilogue_delay): Insns which access %r2 can not be used to fill the epilogue's delay slot. From-SVN: r3727 --- diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 2928b89aa82..84d1e507113 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -2066,6 +2066,13 @@ eligible_for_epilogue_delay (trial, slot) return 0; if (get_attr_length (trial) != 1) return 0; + + /* The epilogue clobbers whatever value is in %r2 before the + delay slot executes, so insns which use %r2 can not be + used to fill the epilogue's delay slot. */ + if (refers_to_regno_p (2, 3, PATTERN (trial), NULL_PTR)) + return 0; + return (get_attr_in_branch_delay (trial) == IN_BRANCH_DELAY_TRUE); }