------- Comment #9 from dave at hiauly1 dot hia dot nrc dot ca 2006-11-06 00:43 ------- Subject: Re: jc1: out of memory allocating 4072 bytes after a total of 708630224 bytes
> 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. It appears that every one of them has its address taken. The code skips such variables: /* We can't eliminate things whose address is taken, or which is the target of a dereference. */ if (vi->address_taken || vi->indirect_target) continue; > However, all of these variables should collapse, as they do in the > earlier functions. For the record, I believe we die processing this constructor function: ;; Function _GLOBAL__I_0__ZN3gnu3xml8aelfred215XmlParser$InputC1Ev() (_GLOBAL__I _0__ZN3gnu3xml8aelfred215XmlParser$InputC1Ev) The alias1 files has the following: ... ESCAPED_VARS = &gnu.xml.xpath.AndExpr.class$$.engine Collapsing static cycles and doing variable substitution: Solving graph: Dave -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29587