This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
reload madness, question
- From: DJ Delorie <dj at redhat dot com>
- To: gcc at gcc dot gnu dot org
- Date: Tue, 31 Jan 2006 17:50:38 -0500
- Subject: reload madness, question
I'm looking at an insn that has these reloads [attached]. Note that
reload2 is not needed IF the reload 1 gets resolved. I haven't
figured out yet how to tell gcc this. Suggestions? The fb+0
construct is something I create to recognize patterns that I've set up
during legitimize_reload_address; eventually fb gets copied to a0.
This is, of course, for m32c.
Reload 0: reload_in (HI) = (reg/f:HI 0 r0 [1956])
A_REGS, RELOAD_FOR_OPERAND_ADDRESS (opnum = 0)
reload_in_reg: (reg/f:HI 0 r0 [1956])
Reload 1: reload_in (HI) = (plus:HI (reg/f:HI 7 fb)
(const_int 0))
A_REGS, RELOAD_FOR_OPERAND_ADDRESS (opnum = 1)
reload_in_reg: (plus:HI (reg/f:HI 7 fb)
(const_int 0))
Reload 2: reload_in (HI) = (mem/c:HI (plus:HI (plus:HI (reg/f:HI 7 fb)
(const_int 0))
(const_int -170)) [246 p+0 S2 A8])
A_REGS, RELOAD_FOR_OPERAND_ADDRESS (opnum = 1), can't combine
reload_in_reg: (reg/v/f:HI 1722 [ p ])