From 4f1605d2ca37c757a35b3157a55f7b9c5615ae31 Mon Sep 17 00:00:00 2001 From: Roger Sayle Date: Mon, 19 Jul 2004 20:24:59 +0000 Subject: [PATCH] * rtlanal.c (reg_set_p): Add check for regs_invalidated_by_call. From-SVN: r84930 --- gcc/ChangeLog | 4 ++++ gcc/rtlanal.c | 10 +++------- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a9e147cca60..b83f93f7db7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2004-07-19 Roger Sayle + + * rtlanal.c (reg_set_p): Add check for regs_invalidated_by_call. + 2004-07-19 Jeff Law * tree-ssa-dom.c (single_incoming_edge_ignoring_loop_edges): New. diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c index f3ce004bb2e..4cdcb630370 100644 --- a/gcc/rtlanal.c +++ b/gcc/rtlanal.c @@ -941,14 +941,10 @@ reg_set_p (rtx reg, rtx insn) if (INSN_P (insn) && (FIND_REG_INC_NOTE (insn, reg) || (CALL_P (insn) - /* We'd like to test call_used_regs here, but rtlanal.c can't - reference that variable due to its use in genattrtab. So - we'll just be more conservative. - - ??? Unless we could ensure that the CALL_INSN_FUNCTION_USAGE - information holds all clobbered registers. */ && ((REG_P (reg) - && REGNO (reg) < FIRST_PSEUDO_REGISTER) + && REGNO (reg) < FIRST_PSEUDO_REGISTER + && TEST_HARD_REG_BIT (regs_invalidated_by_call, + REGNO (reg))) || MEM_P (reg) || find_reg_fusage (insn, CLOBBER, reg))))) return 1; -- 2.30.2