This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/22630] [4.1 Regression] vrp produces wrong code
- From: "law at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 27 Jul 2005 16:55:54 -0000
- Subject: [Bug tree-optimization/22630] [4.1 Regression] vrp produces wrong code
- References: <20050723162927.22630.belyshev@depni.sinp.msu.ru>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From law at redhat dot com 2005-07-27 16:55 -------
Subject: Re: [4.1 Regression] vrp produces
wrong code
On Wed, 2005-07-27 at 16:34 +0000, ja2morri at csclub dot uwaterloo dot
ca wrote:
> ------- Additional Comments From ja2morri at csclub dot uwaterloo dot ca 2005-07-27 16:34 -------
> Subject: Re: [4.1 Regression] vrp produces
> wrong code
>
>
> Jeffrey A Law <law@redhat.com> writes:
>
> > The underlying problem here is the code to meet a VR_ANTI_RANGE and
> > a VR_RANGE does not intersect the equivalence sets. This in turn
> > causes the VRP code to incorrectly evaluate a conditional. It's
> > all downhill after that.
> >
> > While investigating this problem I also noticed that the vrp_meet
> > code does not properly handle intersecting the equivalence sets
> > when vr0 has a set, but vr1 does not (their intersection is the
> > null set of course). This patch fixes that oversight as well.
> >
> > Bootstrapped and regression tested on i686-pc-linux-gnu.
> >
> > jeff
>
> You added 3 bitmap_clear calls here, do you have any testcases that
> exercise this code?
No, but the code is clearly wrong by inspection.
jeff
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22630