From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14124 invoked by alias); 11 Jan 2008 13:30:01 -0000 Received: (qmail 13327 invoked by uid 48); 11 Jan 2008 13:29:17 -0000 Date: Fri, 11 Jan 2008 13:58:00 -0000 Message-ID: <20080111132917.13326.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug tree-optimization/34683] SSA rewriting in the loop unroller causes quadratic behavior 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: 2008-01/txt/msg01039.txt.bz2 ------- Comment #47 from rguenth at gcc dot gnu dot org 2008-01-11 13:29 ------- Most of the PRE/FRE memory is spent in copied VOPs VECs. Unfortunately we cannot move them to heap memory easily as the get shared in the PRE tables... I tried to be explicit in managing the memory, but it gets really hard (which is probably the reason we stick it in GC memory in the first place). So we could use two variants of all routines, one using GC allocated VECs and one using heap allocated VECs and use the GC allocated one only for the final SCC iteration and the PRE tables. Smells like a task for C++ templates or a really ugly hack in C. Obviously this is not going to happen for 4.3 :/ -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34683