From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19556 invoked by alias); 26 Jun 2008 11:58:25 -0000 Received: (qmail 19406 invoked by uid 48); 26 Jun 2008 11:57:42 -0000 Date: Thu, 26 Jun 2008 11:58:00 -0000 Message-ID: <20080626115742.19405.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug tree-optimization/36630] [4.3/4.4 Regression] ICE in vect_update_ivs_after_vectorizer In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "irar at il dot ibm dot com" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2008-06/txt/msg01569.txt.bz2 ------- 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: : # ivtmp.42_89 = PHI # ivtmp.41_87 = PHI # ivtmp.34_78 = PHI # i_18 = PHI 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 ; else goto ; -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36630