RFA: improvement to if-conversion

Richard Henderson rth@redhat.com
Thu Feb 5 05:42:00 GMT 2004


On Wed, Feb 04, 2004 at 06:45:26PM +0000, Joern Rennecke wrote:
> Would it be OK to re-order register notes to make them easier to compare?

Sure.  I'm not sure how you'd sensibly force them into a particular
order on input; existing manipulators are too chaotic.

>   REG_EQUIV, REG_EQUAL: flow_find_cross_jump removes non-matching ones.

Probably correct.

>   REG_RETVAL, REG_LIBCALL: If they are around, we should better make sure they
>    match.  We could remove non-matching ones, but only if we do it for
>    both the REG_RETVAL and the REG_LIBCALL note of the same libcall.

I would just fail if you see a libcall.  With tree-ssa, I expect
libcall to go away completely; everything that they were supposed
to allow should already have been done at the tree level.

>   REG_CC_SETTER, REG_CC_USER: If insns match, notes should match - except
>    after reorg, when a cc0 setting insn is allowed in a delay slot of a jump.
>    Accordig to backends.html, this could affect cris.

I think we can ignore the after reorg case?

>   REG_BR_PROB: It would be prudent to compute the resultant probability,
>    rather than chucking away one set of data.

I think these are dead while the CFG exists; the data is located
in the block/edge frequency fields.  This note basically exists
only to carry this data to final, after the CFG is destroyed.

>   REG_EH_CONTEXT

This must match, both in existance and value.


r~



More information about the Gcc-patches mailing list