From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28420 invoked by alias); 4 Apr 2004 16:42:25 -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 28384 invoked by alias); 4 Apr 2004 16:42:24 -0000 Date: Sun, 04 Apr 2004 16:42:00 -0000 Message-ID: <20040404164224.28383.qmail@sources.redhat.com> From: "dave at hiauly1 dot hia dot nrc dot ca" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20040321182857.14671.danglin@gcc.gnu.org> References: <20040321182857.14671.danglin@gcc.gnu.org> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug bootstrap/14671] [3.3/3.4 regression] caller-save.c:491: internal compiler error: Segmentation fault X-Bugzilla-Reason: CC X-SW-Source: 2004-04/txt/msg00338.txt.bz2 List-Id: ------- Additional Comments From dave at hiauly1 dot hia dot nrc dot ca 2004-04-04 16:42 ------- Subject: Re: [3.5 regression] caller-save.c:491: interna > Which does not make senses as reg_known_value is marked as GTY with a length > of > reg_known_value_size, unless this length is wrong at the point gc_collect is > called which means this is > most likely caused by a patch by Jan. I realized that my previous comments have caused confusion. The reg_known_value object isn't getting garbage collected. It's the object pointed to by reg_known_value[294] that's being poisoned. What I did was put a watch on "reg_known_value[294]->code != PLUS" after the array location had been initialized in init_alias_analysis. >>From previous analysis, I had determined that this rtx was being returned by the call to canon_rtx (x_addr) in true_dependence. When the watch triggered, a backtrace showed that garbage collection was triggered by the call to ggc_collect in loop_optimize. Do we need to copy `src' in the following assignment? else if (REG_N_SETS (regno) == 1 && ! rtx_varies_p (src, 1)) { reg_known_value[regno] = src; I'm beginning to suspect that bootstrap/14829 is just a different symptom of the same problem. Dave -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14671