This is the mail archive of the
mailing list for the GCC project.
Re: RFA: improvement to if-conversion
- From: Richard Henderson <rth at redhat dot com>
- To: Joern Rennecke <joern dot rennecke at superh dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Wed, 4 Feb 2004 21:42:08 -0800
- Subject: Re: RFA: improvement to if-conversion
- References: <20040130185615.GB16175@redhat.com> <200402041845.i14IjQ111920@linsvr1.uk.superh.com>
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.
> 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.
This must match, both in existance and value.