This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: [Bug tree-optimization/8681] Generates unneeded test
- From: Diego Novillo <dnovillo at redhat dot com>
- To: pinskia at gcc dot gnu dot org <gcc-bugzilla at gcc dot gnu dot org>
- Cc: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 24 Apr 2005 14:06:41 -0400
- Subject: Re: [Bug tree-optimization/8681] Generates unneeded test
- Organization: Red Hat Canada
- References: <20021122094603.8681.rf13@inf.tu-dresden.de> <20050424175650.22308.qmail@sourceware.org>
On Sun, Apr 24, 2005 at 05:56:50PM -0000, pinskia at gcc dot gnu dot org wrote:
>
> i_15: [1, 2147483647]
> i_16: [0, 2147483647]
> i_20: VARYING
>
> # i_20 = PHI <i_15(3), 0(0)>;
>
>
> Looks like VRP does not understand PHI functions or it just gives up too often.
>
i_15 and 0 have a non-empty intersection and so vrp_meet returns
VARYING. VRP does not handle multiple ranges, but in this case
it should not be hard to merge the two adjacent ranges [1, +INF]
and [0, 0].
What is the type of 'i'? If it's unsigned, then we would be
wasting our time.
Diego.