> OK.  AFAICS there is nothing glaring in the RTL you posted so you'll have to
> put a watchpoint and find out who has set reg_rtx for this particular reload.

reg_rtx gets set due to a call to choose_reload_regs which in turn
calls allocate_reload_reg to set reg_rtx.

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))))))


TIA,
Pranav

Reply via email to