From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29047 invoked by alias); 3 Apr 2007 12:50:58 -0000 Received: (qmail 29008 invoked by uid 48); 3 Apr 2007 12:50:47 -0000 Date: Tue, 03 Apr 2007 12:50:00 -0000 Message-ID: <20070403125047.29007.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug debug/31412] [4.3] inf loop/long compile time, time spent in var-tracking.c In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rguenth 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-04/txt/msg00207.txt.bz2 ------- Comment #10 from rguenth at gcc dot gnu dot org 2007-04-03 13:50 ------- At least all the attr_list stuff is O(N) as it uses a linked list for static attrs attrs_list_member (attrs list, tree decl, HOST_WIDE_INT offset) { for (; list; list = list->next) if (list->decl == decl && list->offset == offset) return list; return NULL; } static void attrs_list_union (attrs *dstp, attrs src) { for (; src; src = src->next) { if (!attrs_list_member (*dstp, src->decl, src->offset)) attrs_list_insert (dstp, src->decl, src->offset, src->loc); } } (thats quadratic already, ugh) it's a map of mapping to a rtx location. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31412