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  <richard.sandiford@arm.com>

gcc/
	* cfgcleanup.c (old_insns_match_p): Compare the ABIs of calls
	instead of the call-clobbered sets.

From-SVN: r276314
This commit is contained in:
Richard Sandiford 2019-09-30 16:20:12 +00:00 committed by Richard Sandiford
parent 7392e5d888
commit 016996861c
2 changed files with 6 additions and 7 deletions

View File

@ -1,3 +1,8 @@
2019-09-30 Richard Sandiford <richard.sandiford@arm.com>
* cfgcleanup.c (old_insns_match_p): Compare the ABIs of calls
instead of the call-clobbered sets.
2019-09-30 Richard Sandiford <richard.sandiford@arm.com>
* caller-save.c (setup_save_areas): Remove redundant |s of

View File

@ -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;
}