------- Comment #8 from dberlin at gcc dot gnu dot org 2006-11-05 21:48 ------- Subject: Re: jc1: out of memory allocating 4072 bytes after a total of 708630224 bytes
On 5 Nov 2006 21:22:24 -0000, dave at hiauly1 dot hia dot nrc dot ca <[EMAIL PROTECTED]> 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: <ftp://hiauly1.hia.nrc.ca/outgoing/berlin/>. 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 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29587