This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

URGENT!! :reload pass generate indirect memory ref


Hi
I'm working on gcc 3.0.4
I'm stuck on the same problem for one week :
During the reload pass , the insn :
(insn/i 25 24 26 (set (subreg:QI (reg/v:HI 45) 0)
        (mem/s:QI (plus:HI (reg/v/f:HI 38)
                (const_int 9 [0x9])) 14)) 0 {*movqi}
(insn_list 24 (nil))
    (nil))
extract from the allocate local reg pass leads to :
...
Spilling for insn 25.
Using reg 22 for reload 1
...
Reloads for insn # 25
Reload 0: reload_out (QI) = (mem:QI (plus:HI (reg/f:HI
28 __stackmem_l__)
                                                      
 (const_int 21 [0x15])) 32)
	NO_REGS, RELOAD_FOR_OUTPUT (opnum = 0), optional
	reload_out_reg: (subreg:QI (reg/v:HI 45) 0)
Reload 1: reload_in (QI) = (mem/s:QI (plus:HI
(reg/v/f:HI 38)
                                                      
 (const_int 9 [0x9])) 14)
	GENERAL_REGS, RELOAD_FOR_INPUT (opnum = 1)
	reload_in_reg: (mem/s:QI (plus:HI (reg/v/f:HI 38)
                                                      
 (const_int 9 [0x9])) 14)
	reload_reg_rtx: (reg:QI 16 r16)
extract from reload pass rtl dump.

This at the end leads to an unrecognizable insn :
(insn 1263 1260 25 (set (reg:QI 16 r16)
        (mem/s:QI (plus:HI (mem/f:HI (plus:HI
(reg/f:HI 12 __stackret_l__)
                        (const_int 1 [0x1])) 0)
                (const_int 9 [0x9])) 14)) -1 (nil)
    (nil))
which is an indirect memory reference not allowed on
my proc code -spill_indirect_levels = 0 in
init_reload()-

Can someone give me any cue to fix this?
Feel free to ask more precision
Thanks a lot 
regards
Pierre Mallard

___________________________________________________________
Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français !
Yahoo! Mail : http://fr.mail.yahoo.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]