From 016996861c7333f42772c84a5a2a4e52e0bd07c5 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Mon, 30 Sep 2019 16:20:12 +0000 Subject: [PATCH] Remove global call sets: cfgcleanup.c old_insns_match_p just tests whether two instructions are similar enough to merge. With insn_callee_abi it makes more sense to compare the ABIs directly. 2019-09-30 Richard Sandiford gcc/ * cfgcleanup.c (old_insns_match_p): Compare the ABIs of calls instead of the call-clobbered sets. From-SVN: r276314 --- gcc/ChangeLog | 5 +++++ gcc/cfgcleanup.c | 8 +------- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d912a87..a3e4ff2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2019-09-30 Richard Sandiford + * cfgcleanup.c (old_insns_match_p): Compare the ABIs of calls + instead of the call-clobbered sets. + +2019-09-30 Richard Sandiford + * caller-save.c (setup_save_areas): Remove redundant |s of fixed_reg_set. (save_call_clobbered_regs): Likewise. Use the call ABI rather diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c index 329fa0c..ced7e0a 100644 --- a/gcc/cfgcleanup.c +++ b/gcc/cfgcleanup.c @@ -1227,13 +1227,7 @@ old_insns_match_p (int mode ATTRIBUTE_UNUSED, rtx_insn *i1, rtx_insn *i2) } } - HARD_REG_SET i1_used = insn_callee_abi (i1).full_reg_clobbers (); - HARD_REG_SET i2_used = insn_callee_abi (i2).full_reg_clobbers (); - /* ??? This preserves traditional behavior; it might not be needed. */ - i1_used |= fixed_reg_set; - i2_used |= fixed_reg_set; - - if (i1_used != i2_used) + if (insn_callee_abi (i1) != insn_callee_abi (i2)) return dir_none; } -- 2.7.4