From 45586a95c2454499681930fd87a5e7d3db6bbc34 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Sat, 13 Mar 1993 14:47:54 -0700 Subject: [PATCH] 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 --- gcc/config/pa/pa.c | 7 +++++++ 1 file changed, 7 insertions(+) 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); } -- 2.30.2