From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5060 invoked by alias); 24 Jun 2013 13:48:11 -0000 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 Received: (qmail 5019 invoked by uid 48); 24 Jun 2013 13:48:08 -0000 From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/57521] [4.7/4.8/4.9 Regression] wrong code for expressions in loop at -O3 Date: Mon, 24 Jun 2013 13:48: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-Version: 4.9.0 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: 4.7.4 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2013-06/txt/msg01396.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57521 --- Comment #3 from Richard Biener --- It's if-conversion (we do not vectorize anything here). The predicates are inserted correctly but the wrong ones are being used for the predication. That is because the predecessor edge we chose in find_phi_replacement_condition is not fallthru and thus the predicate we chose is bogus. It seems to assume that critical edges are split. I have a patch.