regrename creates invalid insn

Eric Botcazou ebotcazou@adacore.com
Mon Mar 26 17:38:00 GMT 2012


> Does 4.7 still have the failure at all? I've checked with the 4.6
> branch, and regrename gets confused because there's a REG_DEAD note for
> the register, and another REG_UNUSED for the same reg. As far as I
> remember, it used to be the case that there should not be a REG_DEAD
> note for a register that gets set in the insn, but maybe df changed the
> rules? Or maybe it was a df bug in 4.6?

My understanding is that the REG_UNUSED note causes the chain opened for a dest 
register operand to be immediately closed but, when you have multiple such 
dest register operands, one would need to have the chain live "during the 
instruction" or right after, so that you have a conflict with the other dest 
register operands for the instruction.  This looks awkward though.

-- 
Eric Botcazou



More information about the Gcc mailing list