From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5324 invoked by alias); 2 Sep 2008 16:46:31 -0000 Received: (qmail 4386 invoked by uid 48); 2 Sep 2008 16:44:54 -0000 Date: Tue, 02 Sep 2008 16:46:00 -0000 Message-ID: <20080902164454.4385.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug bootstrap/36908] [4.4 Regression] bootstrap forever with BOOT_CFLAGS="-O2 -ftree-loop-distribution" In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "jakub at gcc dot gnu dot org" 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-09/txt/msg00203.txt.bz2 ------- Comment #3 from jakub at gcc dot gnu dot org 2008-09-02 16:44 ------- Why got this even marked as regression? GCC 4.3.1 didn't support -ftree-loop-distribution, it is a new option, so it can't regress. The loop in question is: : # state_89 = PHI # prephitmp.18_6 = PHI state_17 = state_89->next_alt_state; state_89->next_alt_state = prephitmp.18_6; first_free_alt_state_lsm.29_18 = state_89; if (state_17 != 0B) goto ; else goto ; : goto ; and gets distributed into: : # state_62 = PHI # prephitmp.18_26 = PHI state_22 = state_62->next_alt_state; state_62->next_alt_state = prephitmp.18_26; if (state_22 != 0B) goto ; else goto ; : goto ; : # prephitmp.18_90 = PHI : # state_89 = PHI state_17 = state_89->next_alt_state; state_89->next_alt_state = prephitmp.18_90; first_free_alt_state_lsm.29_18 = state_89; if (state_17 != 0B) goto ; else goto ; : goto ; Perhaps tree-loop-distribution.c is confused by a PHI depending on previous PHI result? -- jakub at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |spop at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36908