This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/24262] [4.1 Regression] ICE: verify_ssa failed with -O -msse2 -ftree-vectorize
- From: "sebastian dot pop at cri dot ensmp dot fr" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 12 Oct 2005 16:26:25 -0000
- Subject: [Bug tree-optimization/24262] [4.1 Regression] ICE: verify_ssa failed with -O -msse2 -ftree-vectorize
- References: <bug-24262-8707@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #4 from sebastian dot pop at cri dot ensmp dot fr 2005-10-12 16:26 -------
Subject: Re: [4.1 Regression] ICE: verify_ssa failed with -O -msse2
-ftree-vectorize
irar at il dot ibm dot com wrote:
> Here scev analyzer calculates the evolution of 'D.1703_5 * 2 + i_15',
> where 'D.1703_5 = i_15/2'. Scev doesn't handle division, therefore
> for D.1703_5 we get unknown scev, but then it's combined with the
> rest of the expression, erroneously leading to {D.1703_5*2, +, 1}.
>
I don't follow: "unknown + something" should be folded into "unknown",
not {D.1703_5*2, +, 1}_x: if D.1703_5 is defined in loop_x, it
potentially has an evolution in loop_x. I'm thinking that a test:
if (!expr_invariant_in_loop_p (loop, CHREC_LEFT (chrec)))
then give up with this case,
would solve this bug.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24262