JUMP_LABEL problem and patch

Jeffrey A Law law@cygnus.com
Tue Nov 30 23:59:00 GMT 1999


  In message < 199911272346.PAA08906@fencer.cygnus.com >you write:
  > 
  > I realize it's unlikely that this patch will be accepted.  What
  > probably needs to happen is either:
  > 
  > 	1 - conditionally run rebuild_jump_labels based on feedback
  > 		from combine_instructions, or
  > 
  > 	2 - attempt to keep the JUMP_LABELs up to date in the combiner,
  > 		just like we try to keep other flow information up to
  > 		date.  I don't know if this is possible.
  > 
  > Comments?
We've generally taken the approach in #1 to deal with this problem -- it's
relatively rare and it's simpler to just pay the price to rebuild all the
JUMP_LABEL fields for those rare cases.  Examples would be CSE & register
allocation/reload.

In both cases we note whether or not we recorded the address of a label as
an equivalent expression for a register.  If so, then we arrange to either
re-run the jump optimizer or rebuild the JUMP_LABEL fields.

jeff



More information about the Gcc-patches mailing list