From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3899 invoked by alias); 17 Mar 2010 10:58:19 -0000 Received: (qmail 3813 invoked by uid 48); 17 Mar 2010 10:58:01 -0000 Date: Wed, 17 Mar 2010 10:58:00 -0000 Message-ID: <20100317105801.3812.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug rtl-optimization/43058] [4.5 Regression] var-tracking uses up all virtual memory In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "jakub 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: 2010-03/txt/msg01564.txt.bz2 ------- Comment #12 from jakub at gcc dot gnu dot org 2010-03-17 10:58 ------- Reduced testcase at -g -O2 on x86_64 grows during var-tracking get_max_uid () from ~ 22000 to over a 1000000. Adding ten X4's instead of 1 of course eats even more memory. extern void *f1 (void *, void *, void *); extern void *f2 (const char *, int, int, int, void *(*) ()); extern void *f3 (const char *); extern void *f4 (void *s); extern void *f5 (void *); void test (void) { #define X1 f1 (f2 ("a", 1, 0, 0, f5), \ f4 (({ const char *a = "b"; f3 (a); })), \ ({ const char *a = "c"; f3 (a); })); #define X2 X1 X1 X1 X1 X1 X1 X1 X1 X1 X1 #define X3 X2 X2 X2 X2 X2 X2 X2 X2 X2 X2 #define X4 X3 X3 X3 X3 X3 X3 X3 X3 X3 X3 X4 } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43058