SMALL_REGISTER_CLASSES
Michael P. Hayes
michaelh@ongaonga.chch.cri.nz
Mon Jan 19 23:51:00 GMT 1998
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.
More information about the Gcc
mailing list