This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Reload using a live register to reload into
> Also, just to confirm if I am on the right track, shouldnt the bit for
> reg #1 (i.e $c1) be set in live_throughout in the insn chain for
> insn #91 ( reproduced below for convenience ) ?
>
> (call_insn:HI 91 270 92 5 cor_h.c:129 (parallel [
> (set (reg:SI 1 $c1)
> (call (mem:SI (symbol_ref:SI
> ("DotProductWithoutShift") [flags 0x41] <function_decl 0x401f7d00
> DotProductWithoutShift>) [0 S4 A32])
> (const_int 0 [0x0])))
> (use (const_int 0 [0x0]))
> (clobber (reg:SI 31 $link))
> ]) 42 {*call_value_direct} (expr_list:REG_DEAD (reg:SI 4 $c4)
> (expr_list:REG_DEAD (reg:SI 3 $c3 [ ivtmp.103 ])
> (expr_list:REG_DEAD (reg:SI 2 $c2 [ h ])
> (nil))))
> (expr_list:REG_DEP_TRUE (use (reg:SI 4 $c4))
> (expr_list:REG_DEP_TRUE (use (reg:SI 3 $c3 [ ivtmp.103 ]))
> (expr_list:REG_DEP_TRUE (use (reg:SI 2 $c2 [ h ]))
> (expr_list:REG_DEP_TRUE (use (reg:SI 1 $c1 [ ivtmp.101 ]))
> (nil))))))
I don't think so, it should be in dead_or_set, the value contained in $c1 dies
in the insn.
--
Eric Botcazou