This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Crash in reg_overlap_mentioned_in_reload_p on SH again
- To: gcc-bugs at gcc dot gnu dot org, rth at cygnus dot com, bernds at redhat dot com
- Subject: Crash in reg_overlap_mentioned_in_reload_p on SH again
- From: Jan Hubicka <jh at suse dot cz>
- Date: Sun, 29 Jul 2001 19:18:01 +0200
Hi
some more info. THe crash happends in test in merge_assigned_reloads.
I've workarounded it for my testing to make it always fail. I believe
the test needs to be rewriten to accept the address experessions, but
I don't know how.
Here are the reload needed. Checking of overlap in 0 and 1 crashes.
Reload 0: reload_in (SI) = (plus:SI (reg/f:SI 14 r14)
(const_int 252 [0xfc]))
GENERAL_REGS, RELOAD_FOR_OUTPUT_ADDRESS (opnum = 0)
reload_in_reg: (plus:SI (reg/f:SI 14 r14)
(const_int 252 [0xfc]))
reload_reg_rtx: (reg:SI 1 r1)
Reload 1: reload_in (SI) = (plus:SI (reg/f:SI 14 r14)
(const_int 252 [0xfc]))
GENERAL_REGS, RELOAD_OTHER (opnum = 0)
reload_in_reg: (plus:SI (reg/f:SI 14 r14)
(const_int 252 [0xfc]))
reload_reg_rtx: (reg:SI 1 r1)
Reload 2: GENERAL_REGS, RELOAD_FOR_INPUT_ADDRESS (opnum = 2)
reload_in_reg: (plus:SI (reg/f:SI 14 r14)
(const_int 252 [0xfc]))
reload_reg_rtx: (reg:SI 1 r1)
Reload 3: reload_in (SI) = (mem:SI (plus:SI (plus:SI (reg/f:SI 14 r14)
(const_int 252 [0xfc]))
(const_int 52 [0x34])) 79)
reload_out (SI) = (mem:SI (plus:SI (plus:SI (reg/f:SI 14 r14)
(const_int 252 [0xfc]))
(const_int 48 [0x30])) 78)
GENERAL_REGS, RELOAD_OTHER (opnum = 0), can't combine
reload_in_reg: (reg/v:SI 63)
reload_out_reg: (reg/v:SI 62)
reload_reg_rtx: (reg:SI 2 r2)
Reload 4: reload_in (SI) = (mem:SI (plus:SI (plus:SI (reg/f:SI 14 r14)
(const_int 252 [0xfc]))
(const_int 48 [0x30])) 78)
GENERAL_REGS, RELOAD_FOR_INPUT (opnum = 2), can't combine
reload_in_reg: (reg/v:SI 62)
reload_reg_rtx: (reg:SI 1 r1)