From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30179 invoked by alias); 3 Sep 2005 00:27:57 -0000 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 Received: (qmail 30160 invoked by uid 48); 3 Sep 2005 00:27:52 -0000 Date: Sat, 03 Sep 2005 00:27:00 -0000 Message-ID: <20050903002752.30158.qmail@sourceware.org> From: "rth at gcc dot gnu dot org" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20050902233213.23706.kkojima@gcc.gnu.org> References: <20050902233213.23706.kkojima@gcc.gnu.org> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug middle-end/23706] [4.1 Regression] ICE in rtl_verify_flow_info_1 X-Bugzilla-Reason: CC X-SW-Source: 2005-09/txt/msg00313.txt.bz2 List-Id: ------- Additional Comments From rth at gcc dot gnu dot org 2005-09-03 00:27 ------- The true problem is in optimize_mode_switching. The code about line 605 that inserts code around (but not on) abnormal edges, is incorrect. This is immediately obvious in this case because the emit_insn_after must by definition insert insns after the last insn in the block, resulting in the observed assertion failure. The solution will have to involve re-organizing optimize_mode_switching with respect to abnormal edges. As for why this is suddenly showing up, I can only imagine that the removal of EH edges (by marking local stack frame slots non-trapping) have changed the solution LCM finds to the mode switching problem. -- What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed| |1 Last reconfirmed|0000-00-00 00:00:00 |2005-09-03 00:27:51 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23706