[08/32] Remove global call sets: cfgcleanup.c
diff mbox series

Message ID mptk1aey7m6.fsf@arm.com
State New
Headers show
Series
  • Support multiple ABIs in the same translation unit
Related show

Commit Message

Richard Sandiford Sept. 11, 2019, 7:07 p.m. UTC
old_insns_match_p just tests whether two instructions are
similar enough to merge.  With call_insn_abi it makes more
sense to compare the ABIs directly.


2019-09-11  Richard Sandiford  <richard.sandiford@arm.com>

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

Patch
diff mbox series

Index: gcc/cfgcleanup.c
===================================================================
--- gcc/cfgcleanup.c	2019-09-11 19:47:24.402262786 +0100
+++ gcc/cfgcleanup.c	2019-09-11 19:47:50.610078102 +0100
@@ -1227,13 +1227,7 @@  old_insns_match_p (int mode ATTRIBUTE_UN
 	    }
 	}
 
-      HARD_REG_SET i1_used = call_insn_abi (i1).full_reg_clobbers ();
-      HARD_REG_SET i2_used = call_insn_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 (call_insn_abi (i1) != call_insn_abi (i2))
         return dir_none;
     }