This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: vrp?
- From: Steven Bosscher <s dot bosscher at student dot tudelft dot nl>
- To: Richard Henderson <rth at redhat dot com>
- Cc: Jeff Law <law at redhat dot com>, gcc at gcc dot gnu dot org
- Date: 12 Feb 2003 08:03:51 +0100
- Subject: Re: vrp?
- References: <20030211225855.A3544@redhat.com>
Op wo 12-02-2003, om 07:58 schreef Richard Henderson:
> Any idea what the state of the last value-range propagation patch is?
>
> I've been looking at killing the cse-follow-jumps nonsense from cse.c,
> and one case we're missing by removing it is
>
> if (x == 0)
> foo ();
> else if (x == 0)
> bar ();
>
> The current cse code marks (x != 0) true on the else branch of the
> first if. But our current gcse code has no way to make (x = NOT(0))
> available on an edge.
>
> I wouldn't think we'd need too terribly strong VRP to replace what
> cse.c does now, but given how often this shows up within gcc source
> itself I don't think I can kill what we have without a replacement.
There's an ssa-based VRP algorithm[1] that I mentioned to Diego a while
ago. Basically it's an extension of sparse-CCP and it provides branch
probablilities. Diego said it was on the TODO list with Redhat... Does
that help?
Greetz
Steven
[1] http://www.pattosoft.com.au/jason/Papers/ValueRangeProp/