From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23415 invoked by alias); 21 Sep 2004 11:49:42 -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 23388 invoked by uid 48); 21 Sep 2004 11:49:41 -0000 Date: Tue, 21 Sep 2004 11:49:00 -0000 Message-ID: <20040921114941.23387.qmail@sourceware.org> From: "rakdver at gcc dot gnu dot org" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20040912034129.17428.opticcow@linux-militia.net> References: <20040912034129.17428.opticcow@linux-militia.net> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug target/17428] [4.0 Regression] internal compiler error: in spill_failure, at reload1.c:1880 X-Bugzilla-Reason: CC X-SW-Source: 2004-09/txt/msg02371.txt.bz2 List-Id: ------- Additional Comments From rakdver at gcc dot gnu dot org 2004-09-21 11:49 ------- This is caused by speculative prefetching. The problem is in code like this: (insn 14 12 15 1 (set (reg:SI 1 dx) (const_int 0 [0x0])) -1 (nil) (nil)) (insn 15 14 16 1 (set (reg:SI 0 ax) (mem/s:SI (reg/f:SI 62 [ ivtmp.5 ]) [2 a S4 A8])) -1 (nil) (nil)) (call_insn 16 15 17 1 (call (mem:QI (symbol_ref:SI ("foo") [flags 0x3] ) [0 S1 A8]) (const_int 0 [0x0])) -1 (nil) (expr_list:REG_EH_REGION (const_int 0 [0x0]) (nil)) (expr_list (use (reg:SI 0 ax)) (expr_list (use (reg:SI 1 dx)) (nil)))) Now we issue a profiling code for mem in insn 15. This causes life range of dx to be prolonged, and ICE follows. safe_insert_insn_on_edge needs to be extended to handle this, somehow. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17428