From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15513 invoked by alias); 14 Feb 2007 23:21:59 -0000 Received: (qmail 15390 invoked by uid 48); 14 Feb 2007 23:21:37 -0000 Date: Wed, 14 Feb 2007 23:21:00 -0000 Message-ID: <20070214232137.15389.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug middle-end/30768] [4.3 regression]: ICE in ext/pb_ds/regression/list_update_data_map_rand.cc In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "mmitchel 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: 2007-02/txt/msg01766.txt.bz2 ------- Comment #10 from mmitchel at gcc dot gnu dot org 2007-02-14 23:21 ------- I have reproduced this with the attached .ii file and a cross-compiler to cris-axis-elf. The problematic function is allocate_new_entry. I believe that the problem is that the dom2 pass eliminates basic blocks, without updating n_basic_blocks. In particular, looking at allocae_new_entry in 067t.copyrename3, I see 14 basic blocks for allocate_new_entry. In contrast, in 68t.dom2, I see 12. When the apply_inline pass runs later, it trips on the assert because it finds only 12 basic blocks -- but n_basic_blocks is 14. Diego, is this something that you might be able to help with? I'm not eager to go tearing through dom trying to work this out, though I will if necessary, of course... -- mmitchel at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dnovillo at redhat dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30768