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