From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28596 invoked by alias); 5 Nov 2006 21:48:07 -0000 Received: (qmail 28581 invoked by uid 22791); 5 Nov 2006 21:48:07 -0000 X-Spam-Check-By: sourceware.org Received: from wx-out-0506.google.com (HELO wx-out-0506.google.com) (66.249.82.236) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sun, 05 Nov 2006 21:48:03 +0000 Received: by wx-out-0506.google.com with SMTP id s17so777062wxc for ; Sun, 05 Nov 2006 13:48:01 -0800 (PST) Received: by 10.90.52.2 with SMTP id z2mr279073agz.1162763281656; Sun, 05 Nov 2006 13:48:01 -0800 (PST) Received: by 10.90.83.1 with HTTP; Sun, 5 Nov 2006 13:48:01 -0800 (PST) Message-ID: <4aca3dc20611051348r2ab4cc51vc9862b4ec809bdfb@mail.gmail.com> Date: Sun, 05 Nov 2006 21:48:00 -0000 From: "Daniel Berlin" To: gcc-bugzilla@gcc.gnu.org Subject: Re: [Bug java/29587] jc1: out of memory allocating 4072 bytes after a total of 708630224 bytes Cc: gcc-bugs@gcc.gnu.org In-Reply-To: <20061105212224.17177.qmail@sourceware.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <20061105212224.17177.qmail@sourceware.org> 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 X-SW-Source: 2006-11/txt/msg00398.txt.bz2 List-Id: On 5 Nov 2006 21:22:24 -0000, dave at hiauly1 dot hia dot nrc dot ca wrote: > > > ------- Comment #7 from dave at hiauly1 dot hia dot nrc dot ca 2006-11-05 21:22 ------- > Subject: Re: jc1: out of memory allocating 4072 bytes after a total of > 708630224 bytes > > > Can you bzip2 compress -fdump-tree-alias-vops-details-blocks-stats (it's going > > to be very large) and put it somewhere for me? > > The files are here: . Thanks! So this ends up being what i thought. The variables aren't being collapsed, but i can't figure out why (IE it can't prove they are the same). This causes it to give them separate solution bitmaps, and the solutions are very large,and involve thousands of variables, so thousands * thousands = a lot of memory. However, all of these variables should collapse, as they do in the earlier functions. They also collapse on my machine on this testcase (which admittedly has different code there). It is, in fact, *incredibly* strange that not a single variable is collapsed or unified in this function. I'm not sure what to do here. Can you poke around in perform_var_substitution and see if you can figure out what conditions are causing all the variables to fail out of the collapsing. Particularly, roughly every variable that has a constaint like foo = ESCAPED_VARS in the dump should be getting collapsed to ESCAPED_VARS. Can you poke