From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17930 invoked by alias); 10 Dec 2003 22:49:48 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 17921 invoked from network); 10 Dec 2003 22:49:47 -0000 Received: from unknown (HELO nikam.ms.mff.cuni.cz) (195.113.18.106) by sources.redhat.com with SMTP; 10 Dec 2003 22:49:47 -0000 Received: from camelot.ms.mff.cuni.cz (kampanus.ms.mff.cuni.cz [195.113.18.107]) by nikam.ms.mff.cuni.cz (Postfix) with SMTP id 6183B4E00B; Wed, 10 Dec 2003 23:49:48 +0100 (CET) Received: by camelot.ms.mff.cuni.cz (sSMTP sendmail emulation); Wed, 10 Dec 2003 23:49:51 +0100 Date: Wed, 10 Dec 2003 23:01:00 -0000 From: Jan Hubicka To: Diego Novillo Cc: Jan Hubicka , Steven Bosscher , Jeff Law , Zdenek Dvorak , Richard Henderson , "gcc@gcc.gnu.org" Subject: Re: [tree-ssa] New g++/libstdc++ regressions with checking disabled. Message-ID: <20031210224951.GD7897@kam.mff.cuni.cz> References: <1070993097.8617.10.camel@frodo.toronto.redhat.com> <1071001891.8617.29.camel@frodo.toronto.redhat.com> <20031209221600.GF7849@kam.mff.cuni.cz> <1071092808.8617.114.camel@frodo.toronto.redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1071092808.8617.114.camel@frodo.toronto.redhat.com> User-Agent: Mutt/1.3.28i X-SW-Source: 2003-12/txt/msg00638.txt.bz2 > On Tue, 2003-12-09 at 17:16, Jan Hubicka wrote: > > > > > > Incidentally, please do not commit any patches that do not fix these > > > regressions. > > > > I've been looking into it with Jason and it seems to be that culprint is > > misscopmilation in cp/class.o (at least replacing it by unoptimized > > version makes the bug to go away). > > The symptom is that method table contains bogus duplicated overload > > entries, so it seems to be somewhere in add_method. > > > Thanks. > > I have reverted the patch that introduced these regressions. The branch > is open again. OK. I was trying to compare the compilations of that file with and without a patch but the differences are too long for my tired mind today. (the code looks ineed a lot better with the patch) I will try again tomorrow unless Richard will beat me :) Honza > > > Diego. > > > * c-common.c (c_address_looks_like_offsetof): New. > * c-common.h (c_address_looks_like_offsetof): Declare. > * c-typeck.c (build_unary_op) : Use it. Don't lower > address references not destined for offsetof. > (c_expand_return): Only look inside ARRAY_REF and COMPONENT_REF > when looking for returning address of local variable. > * expr.c (expand_expr_1): Don't dereference size of unbounded arrays. > * gimplify.c (gimplify_addr_expr): Only fold address of variable size > array elements. > * tree-simple.c (is_gimple_min_invariant): Also check > is_gimple_variable before disallowing offset address for type. > * tree-ssa-ccp.c (maybe_fold_offset_to_aggregate_ref): New. > (maybe_fold_offset_to_component_ref): Use it. > (maybe_fold_stmt_indirect, maybe_fold_stmt_plus): Likewise. > (maybe_fold_offset_to_array_ref): Likewise. Don't fail for division > remainder non-zero. > * varasm.c (initializer_constant_valid_p) : Use > handled_component_p and look inside references. > : Always look past widening casts. >