* cse.c (canon_hash): Don't register registers in very small
register classes, as extending their lifetime might cause
reload to fail.
From-SVN: r43714
+2001-07-02 Geoffrey Keating <geoffk@redhat.com>
+
+ * cse.c (canon_hash): Don't register registers in very small
+ register classes, as extending their lifetime might cause
+ reload to fail.
+
Mon Jul 2 23:14:00 CEST 2001 Jan Hubicka <jh@suse.cz>
* flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
failure to do so leads to failure to simplify 0<100 type of
conditionals.
- On all machines, we can't record any global registers. */
+ On all machines, we can't record any global registers.
+ Nor should we record any register that is in a small
+ class, as defined by CLASS_LIKELY_SPILLED_P. */
if (regno < FIRST_PSEUDO_REGISTER
&& (global_regs[regno]
+ || CLASS_LIKELY_SPILLED_P (REGNO_REG_CLASS (regno))
|| (SMALL_REGISTER_CLASSES
&& ! fixed_regs[regno]
&& regno != FRAME_POINTER_REGNUM