This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
SMALL_REGISTER_CLASSES
- To: egcs at cygnus dot com, amylaar at cygnus dot co dot uk
- Subject: SMALL_REGISTER_CLASSES
- From: "Michael P. Hayes" <michaelh at ongaonga dot chch dot cri dot nz>
- Date: Tue, 20 Jan 1998 15:02:00 +1300
Looking through the GCC code I get the impression that
SMALL_REGISTER_CLASSES has been used to infer that a target has only a
few registers, rather than its original meaning, where it signified
that registers explicity mentioned in the RTL had to be used as spill
registers.
With SMALL_REGISTER_CLASSES set, the combiner won't combine insn 4 with
insn 12. Is there a good reason for this?
(insn 4 2 6 (set (reg/v:QI 36)
(reg:QI 10 ar2)) 5 {movqi_noclobber} (nil)
(expr_list:REG_DEAD (reg:QI 10 ar2)
(nil)))
(insn 6 4 7 (set (reg/v:QI 37)
(reg:QI 2 r2)) 5 {movqi_noclobber} (nil)
(expr_list:REG_DEAD (reg:QI 2 r2)
(nil)))
(insn 12 10 14 (set (reg:QI 39)
(mem/s:QI (plus:QI (reg/v:QI 36)
(const_int 5)))) 5 {movqi_noclobber} (insn_list 4 (nil))
(expr_list:REG_DEAD (reg/v:QI 36)
(nil)))
Michael.