From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7384 invoked by alias); 12 Jan 2006 20:41:09 -0000 Received: (qmail 7361 invoked by alias); 12 Jan 2006 20:41:08 -0000 Date: Thu, 12 Jan 2006 20:41:00 -0000 Message-ID: <20060112204108.7360.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug tree-optimization/22415] [4.0 Regression] ICE in coalesce_abnormal_edges In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "law at redhat dot com" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2006-01/txt/msg01197.txt.bz2 List-Id: ------- Comment #8 from law at redhat dot com 2006-01-12 20:41 ------- Subject: Re: [4.0 Regression] ICE in coalesce_abnormal_edges On Thu, 2006-01-12 at 20:30 +0000, law at redhat dot com wrote: > You should assign this bug to Daniel since he's the PRE expert. I'll note that something like this seems to avoid the problem, but I have no idea if it's correct. It may (or may not) help Daniel in tracking this down. At this point I'm leaving this for Daniel to resolve since he's way more familiar with this code than I will ever be. Index: tree-ssa-pre.c =================================================================== *** tree-ssa-pre.c (revision 109644) --- tree-ssa-pre.c (working copy) *************** compute_avail (void) *** 1903,1909 **** for (phi = phi_nodes (block); phi; phi = PHI_CHAIN (phi)) /* We have no need for virtual phis, as they don't represent actual computations. */ ! if (is_gimple_reg (PHI_RESULT (phi))) add_to_sets (PHI_RESULT (phi), PHI_RESULT (phi), NULL, PHI_GEN (block), AVAIL_OUT (block)); --- 1903,1910 ---- for (phi = phi_nodes (block); phi; phi = PHI_CHAIN (phi)) /* We have no need for virtual phis, as they don't represent actual computations. */ ! if (is_gimple_reg (PHI_RESULT (phi)) ! && !SSA_NAME_OCCURS_IN_ABNORMAL_PHI (PHI_RESULT (phi))) add_to_sets (PHI_RESULT (phi), PHI_RESULT (phi), NULL, PHI_GEN (block), AVAIL_OUT (block)); -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22415