* local-alloc.c (combine_regs): Don't combine if we have a hard reg
for which CLASS_LIKELY_SPILLED_P is true.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25644
138bc75d-0d04-0410-961f-
82ee72b054a4
Mon Mar 8 16:04:44 1999 Jim Wilson <wilson@cygnus.com>
+ * local-alloc.c (combine_regs): Don't combine if we have a hard reg
+ for which CLASS_LIKELY_SPILLED_P is true.
+
* unroll.c (loop_iterations): Only call loop_find_equiv_value if we
have a REG or SUBREG.
|| ureg == sreg
/* Don't try to connect two different hardware registers. */
|| (ureg < FIRST_PSEUDO_REGISTER && sreg < FIRST_PSEUDO_REGISTER)
+ /* Don't use a hard reg that might be spilled. */
+ || (ureg < FIRST_PSEUDO_REGISTER
+ && CLASS_LIKELY_SPILLED_P (REGNO_REG_CLASS (ureg)))
+ || (sreg < FIRST_PSEUDO_REGISTER
+ && CLASS_LIKELY_SPILLED_P (REGNO_REG_CLASS (sreg)))
/* Don't connect two different machine modes if they have different
implications as to which registers may be used. */
|| !MODES_TIEABLE_P (GET_MODE (usedreg), GET_MODE (setreg)))