From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31560 invoked by alias); 23 Mar 2012 10:22:20 -0000 Received: (qmail 31547 invoked by uid 22791); 23 Mar 2012 10:22:19 -0000 X-SWARE-Spam-Status: No, hits=-2.1 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,KAM_STOCKGEN X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 23 Mar 2012 10:21:32 +0000 From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/52678] internal compiler error: in vect_update_ivs_after_vectorizer, at tree-vect-loop-manip.c:1842 Date: Fri, 23 Mar 2012 10:30:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: rguenth at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: rguenth at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 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: 2012-03/txt/msg02021.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52678 --- Comment #4 from Richard Guenther 2012-03-23 10:19:53 UTC --- Created attachment 26966 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26966 patch No, in fact, generating the _prologue_ loop adjusts the original PHI node from openad_symbol_188_2 = PHI <0(2), openad_symbol_188_42(4)> to openad_symbol_188_2 = PHI and we _do_ analyze that original loop PHI. But now fail to. One solution would be to delay peeling for the prologue loop after we peeled the epilogue loop - but that has quite some fallout. Another solution would be to save the scalar evolution result, but we explicitely free it after the first peeling (because obviously while the evolution part of openad_symbol_188_2 is still correct, it's initial value is not). So the correct thing seems to be to preserve the evolution part and simply take the initial value from the PHI operand.