This is the mail archive of the gcc-patches@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]

Re: [RFA:] Split REG_LABEL into REG_LABEL_TARGET and REG_LABEL_OPERAND


[Sorry for the delay too. :-)]

> This code rarely hits these days (post DF), if ever.  I thought it was
> just about necessary for targets with branch-target registers for
> conditional branches like sh64 (unique in this aspect AFAICT) but that
> target doesn't split the branch-target-register-load from the branch
> until register allocation and by that time, JUMP_LABEL is safely set.
> I instrumented the code with a gcc_unreachable, and this code only
> hits for gcc.c-torture/compile/920501-7.c (for most targets).  If you
> prefer, I can remove this code.  The situation may of course change if
> more passes start calling mark_all_labels.

OK, let's keep it then.

> 	* rtlanal.c (label_is_jump_target_p): Return true for a matching
> 	REG_LABEL_TARGET.
> 	* reorg.c (fill_slots_from_thread): Correct last change to use
> 	NULL_RTX, not NULL.  Outside of REG_NOTES loop, increase and
> 	decrease LABEL_NUSES for JUMP_LABEL (trial), not XEXP (note, 0).

OK for mainline, thanks for following up on this.

-- 
Eric Botcazou


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