[Bug tree-optimization/26406] Fowardprop does harm for VRP to figure out if a point is non zero
law at redhat dot com
gcc-bugzilla@gcc.gnu.org
Wed Feb 22 21:45:00 GMT 2006
------- Comment #12 from law at redhat dot com 2006-02-22 21:45 -------
Subject: Re: Fowardprop does harm for VRP to
figure out if a point is non zero
On Wed, 2006-02-22 at 20:55 +0000, rguenth at gcc dot gnu dot org wrote:
>
> ------- Comment #11 from rguenth at gcc dot gnu dot org 2006-02-22 20:55 -------
> So I suppose VRP cannot see "backwards" for
>
> i_2 = j_1;
> if (i_2 == 0)
> return j_1;
>
> ? (of course copyprop would clean this up, but suppose for a moment this
> gets to VRP)
Nope, it can't. It's not just the lack of backwards propagation,
but also the fact that i is unused in the subgraphs after the
conditional, so VRP won't record any information for either i or j
in this kind of example.
Fixing VRP to gather data for "i" in this example would result in
a pretty significant compile-time hit.
I'll note this was one of the reasons why we moved copyprop to
run immediately before VRP -- copies in the IL were hiding a
nontrivial number of detectable and useful ranges.
jeff
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26406
More information about the Gcc-bugs
mailing list