spinning a separate bug from PR26830. we are creating a lot of field memory tags, each of which is present in a 900-argument phi, which causes us to use more memory than 4.0. to some extent this is unavoidable, but I wonder if we could throttle things down a bit?
Subject: Re: New: [4.1/4.2 Regression] Insane amount of memory needed at -O1 and above because of salias On Mon, 2006-04-03 at 13:43 +0000, bonzini at gnu dot org wrote: > spinning a separate bug from PR26830. we are creating a lot of field memory > tags, each of which is present in a 900-argument phi, which causes us to use > more memory than 4.0. > > to some extent this is unavoidable, but I wonder if we could throttle things > down a bit? > Err, why do we have a 900 argument phi? Seems a bit large.
Subject: Re: [4.1/4.2 Regression] Insane amount of memory needed at -O1 and above because of salias On Mon, 3 Apr 2006, dberlin at dberlin dot org wrote: > On Mon, 2006-04-03 at 13:43 +0000, bonzini at gnu dot org wrote: > > spinning a separate bug from PR26830. we are creating a lot of field memory > > tags, each of which is present in a 900-argument phi, which causes us to use > > more memory than 4.0. > > > > to some extent this is unavoidable, but I wonder if we could throttle things > > down a bit? > > > > Err, why do we have a 900 argument phi? > Seems a bit large. Because the testcase is - err - interesting. Richard.
Will not be fixed in 4.1.1; adjust target milestone to 4.1.2.
If you solve the SFT problem, DF needs lot of memory and compile-time in this testcase on the trunk. The execute() function has lots of basic blocks with a high number of incoming edges. So, I have a patch for the SFT problem.
Some numbers (-O): 4.0.4 needs 596MB peak 4.1.2 needs 2GB peak (and a lot of time) 4.2.2 same as 4.1.2 4.3.0 same as 4.2.2
Created attachment 14483 [details] patch Patch to limit the number of SFTs created per function. The limit of 1000 SFTs brings down memory usage to 1.3GB, a limit of 500 to 1.2GB, a limit of 100 results in 970MB, a limit of zero 954MB. So there's still something taking 400MB more memory than in 4.0.
Closing 4.1 branch.
It is unclear which target this was tested on, in any case current trunk tops on this at around 1.2GB.
I think this is a dup of PR26854 on the trunk at least - the excess memory used is used by DF (SFTs are gone on the trunk). So, this is now a 4.2/4.3 regression only (which still have SFTs).
Closing 4.2 branch.
GCC 4.3.4 is being released, adjusting target milestone.
WONTFIX on the branch.