Commit bd545bcf by Martin Liska Committed by Martin Liska

Do not gather mem stats in run_exit_handles (PR

	PR middle-end/69919
	* alloc-pool.c (after_memory_report): New variable.
	* alloc-pool.h (base_pool_allocator ::release): Do not use
	the infrastructure if after_memory_report.
	* toplev.c (toplev::main): Mark after memory report.

From-SVN: r233722
parent bd28a34f
2016-02-25 Martin Liska <mliska@suse.cz>
PR middle-end/69919
* alloc-pool.c (after_memory_report): New variable.
* alloc-pool.h (base_pool_allocator ::release): Do not use
the infrastructure if after_memory_report.
* toplev.c (toplev::main): Mark after memory report.
2016-02-25 Richard Biener <rguenther@suse.de> 2016-02-25 Richard Biener <rguenther@suse.de>
PR tree-optimization/48795 PR tree-optimization/48795
......
...@@ -25,6 +25,7 @@ along with GCC; see the file COPYING3. If not see ...@@ -25,6 +25,7 @@ along with GCC; see the file COPYING3. If not see
ALLOC_POOL_ID_TYPE last_id; ALLOC_POOL_ID_TYPE last_id;
mem_alloc_description<pool_usage> pool_allocator_usage; mem_alloc_description<pool_usage> pool_allocator_usage;
bool after_memory_report = false;
/* Output per-alloc_pool memory usage statistics. */ /* Output per-alloc_pool memory usage statistics. */
void void
......
...@@ -25,6 +25,9 @@ along with GCC; see the file COPYING3. If not see ...@@ -25,6 +25,9 @@ along with GCC; see the file COPYING3. If not see
extern void dump_alloc_pool_statistics (void); extern void dump_alloc_pool_statistics (void);
/* Flag indicates whether memory statistics are gathered any longer. */
extern bool after_memory_report;
typedef unsigned long ALLOC_POOL_ID_TYPE; typedef unsigned long ALLOC_POOL_ID_TYPE;
/* Last used ID. */ /* Last used ID. */
...@@ -306,7 +309,7 @@ base_pool_allocator <TBlockAllocator>::release () ...@@ -306,7 +309,7 @@ base_pool_allocator <TBlockAllocator>::release ()
TBlockAllocator::release (block); TBlockAllocator::release (block);
} }
if (GATHER_STATISTICS) if (GATHER_STATISTICS && !after_memory_report)
{ {
pool_allocator_usage.release_instance_overhead pool_allocator_usage.release_instance_overhead
(this, (m_elts_allocated - m_elts_free) * m_elt_size); (this, (m_elts_allocated - m_elts_free) * m_elt_size);
......
...@@ -2107,6 +2107,9 @@ toplev::main (int argc, char **argv) ...@@ -2107,6 +2107,9 @@ toplev::main (int argc, char **argv)
finalize_plugins (); finalize_plugins ();
location_adhoc_data_fini (line_table); location_adhoc_data_fini (line_table);
after_memory_report = true;
if (seen_error () || werrorcount) if (seen_error () || werrorcount)
return (FATAL_EXIT_CODE); return (FATAL_EXIT_CODE);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment