This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/36630] [4.3/4.4 Regression] ICE in vect_update_ivs_after_vectorizer
- From: "irar at il dot ibm dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 26 Jun 2008 11:57:42 -0000
- Subject: [Bug tree-optimization/36630] [4.3/4.4 Regression] ICE in vect_update_ivs_after_vectorizer
- References: <bug-36630-87@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from irar at il dot ibm dot com 2008-06-26 11:57 -------
For access function (short int) {(short unsigned int) i_44, +, 1}_1)
evolution_part_in_loop_num() returns NULL, which causes the failure.
I tried to peel NOP_EXPRs from POLYNOMIAL_CHRECs in
evolution_part_in_loop_num(), but it caused lots of testsuite failures, and I
am not sure this is the correct way.
The access function is for vectorizer created calculation of peeling needed for
misaligned access:
<bb 11>:
# ivtmp.42_89 = PHI <ivtmp.42_90(16), 0(10)>
# ivtmp.41_87 = PHI <ivtmp.41_88(16), vect_p.36_86(10)>
# ivtmp.34_78 = PHI <ivtmp.34_79(16), vect_p.29_77(10)>
# i_18 = PHI <i_13(16), i_44(10)>
D.1578_4 = (long unsigned int) i_18;
D.1579_5 = D.1578_4 + -1;
D.1580_7 = x_6(D) + D.1579_5;
D.1581_9 = x_6(D) + D.1578_4;
vect_var_.35_80 = M*ivtmp.34_78{misalignment: 0};
D.1582_10 = *D.1581_9;
*ivtmp.41_87 = vect_var_.35_80;
i.0_11 = (short unsigned int) i_18;
D.1584_12 = i.0_11 + 1;
i_13 = (short int) D.1584_12;
ivtmp.34_79 = ivtmp.34_78 + 16;
ivtmp.41_88 = ivtmp.41_87 + 16;
ivtmp.42_90 = ivtmp.42_89 + 1;
if (ivtmp.42_90 < bnd.26_52)
goto <bb 16>;
else
goto <bb 12>;
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36630