Enabling some tree dumps causes a tramp3d-v4 compile to run into swap,
requiring
about 50% more ram than a non-dumped compile.
Pinskia suggests
Index: gcc/cgraph.c
===================================================================
--- gcc/cgraph.c (revision 115684)
+++ gcc/cgraph.c (working copy)
@@ -509,7 +509,7 @@ cgraph_remove_node (struct cgraph_node *
kill_body = true;
}
- if (kill_body && !dump_enabled_p (TDI_tree_all) && flag_unit_at_a_time)
+ if (kill_body && flag_unit_at_a_time)
{
DECL_SAVED_TREE (node->decl) = NULL;
DECL_STRUCT_FUNCTION (node->decl) = NULL;
Index: gcc/cgraphunit.c
===================================================================
--- gcc/cgraphunit.c (revision 115684)
+++ gcc/cgraphunit.c (working copy)
@@ -1466,7 +1466,6 @@ cgraph_optimize (void)
/* Double check that all inline clones are gone and that all
function bodies have been released from memory. */
if (flag_unit_at_a_time
- && !dump_enabled_p (TDI_tree_all)
&& !(sorrycount || errorcount))
{
struct cgraph_node *node;
but there may be non-GCable cost of dumping itself.
--
Summary: Using -fdump-tree-optimized causes a huge compile time
memory regression
Product: gcc
Version: 4.1.2
Status: UNCONFIRMED
Keywords: memory-hog
Severity: normal
Priority: P3
Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rguenth at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28463