This is the mail archive of the gcc-regression@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GCC build failure, HEAD@191051 on native


With your recent patch, GCC HEAD revision 191051 had problems on:
native: build (about the same as the previous build)
Attached is build output for those targets.
The previous build was of revision 191050.

Log information for changes since the last build:
------------------------------------------------------------------------
r191051 | ak | 2012-09-06 19:56:17 -0700 (Thu, 06 Sep 2012) | 30 lines
Changed paths:
   M /trunk/gcc/ChangeLog
   M /trunk/gcc/lto/lto.c
   M /trunk/gcc/lto-streamer.h

Reduce memory usage for storing LTO decl resolutions

With a LTO build of a large project (>11k subfiles incrementially linked)
storing the LTO resolutions took over 0.5GB memory:

lto/lto.c:1087 (lto_resolution_read)                      0: 0.0%  540398500           15903: 0.0%

The reason is that the declaration indexes are quite sparse, but every subfile
got a full continuous vector for them. Since there are so many of them the
many vectors add up.

This patch instead stores the resolutions initially in a compact (index, resolution)
format. This is only expanded into a sparse vector for fast lookup when
the subfile is actually read, but then immediately freed. This means only one
vector is allocated at a time.

This brings the overhead for this down to less than 3MB for the test case:

lto/lto.c:1087 (lto_resolution_read)                      0: 0.0%    2821456           42186: 0.0%

gcc/:

2012-09-06  Andi Kleen  <ak@linux.intel.com>

	* gcc/lto-streamer.h (res_pair): Add.
	(lto_file_decl_data): Replace resolutions with respairs.
	Add max_index.
	* gcc/lto/lto.c (lto_resolution_read): Remove max_index.  Add rp.
	Initialize respairs.
	(lto_file_finalize): Set up resolutions vector lazily from respairs.
------------------------------------------------------------------------

For more information, see <http://glutton.geoffk.org/HEAD/>.

Attachment: native-log.txt
Description: Text document

-- 
Geoffrey Keating <geoffk@geoffk.org> 
(via an automated GCC regression-testing script.)

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]