From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22538 invoked by alias); 9 May 2005 15:26: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 22367 invoked by uid 48); 9 May 2005 15:26:50 -0000 Date: Mon, 09 May 2005 15:26:00 -0000 Message-ID: <20050509152650.22366.qmail@sourceware.org> From: "jakub at gcc dot gnu dot org" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20050430213729.21308.peturrun@internet.is> References: <20050430213729.21308.peturrun@internet.is> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug c++/21308] [3.4/4.0/4.1 Regression] Very high compile time X-Bugzilla-Reason: CC X-SW-Source: 2005-05/txt/msg01188.txt.bz2 List-Id: ------- Additional Comments From jakub at gcc dot gnu dot org 2005-05-09 15:26 ------- Do we really have to call walk_subobject_offsets on every single array element? Couldn't we delay that to the time anybody would be looking at that info? Say extend the offsets splay tree, so that there would not only be INTEGER_CST key nodes representing particular offsets, but also nodes representing an offset interval, with value a TREE_VEC that could then be used to recreate that information (i.e. contain enough info to call walk_subobject_offsets in a loop with record_subobject_offset fn). Instead of calling walk_subobject_offsets here 1 << 21 times, we could e.g. call it on the first and last array element only and represent the middle of the array (if any) with an interval. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21308