diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2019-10-10 13:04:44 +0000 |
---|---|---|
committer | Jan Hubicka <hubicka@ucw.cz> | 2019-10-10 13:04:44 +0000 |
commit | 307d709c625ee930be344bc71778557a00888349 (patch) | |
tree | 3bccfeacaa19816afb231f29ac6f6a4f55cf7b36 | |
parent | 6e59245384999c1a6a0b677d95438211178fa665 (diff) |
PR middle-end/92037
* cgraph.c (symbol_table_test::symbol_table_test): Use ggc_alloc
rather than ggc_alloc_cleared to alloc symbol table.
* toplev.c (general_init): Likewise.
* cgraph.h (symbol_table): Explicitly construct every field.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@276804 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/cgraph.c | 2 | ||||
-rw-r--r-- | gcc/cgraph.h | 22 | ||||
-rw-r--r-- | gcc/toplev.c | 2 |
4 files changed, 26 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2e34b80eaa9..e97db14f8e5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2019-10-10 Jan Hubicka <hubicka@ucw.cz> + + PR middle-end/92037 + * cgraph.c (symbol_table_test::symbol_table_test): Use ggc_alloc + rather than ggc_alloc_cleared to alloc symbol table. + * toplev.c (general_init): Likewise. + * cgraph.h (symbol_table): Explicitly construct every field. + 2019-10-10 Andreas Krebbel <krebbel@linux.ibm.com> * common/config/s390/s390-common.c (PF_ARCH13): Rename to... diff --git a/gcc/cgraph.c b/gcc/cgraph.c index 0c3c6e7cac4..8b752d83809 100644 --- a/gcc/cgraph.c +++ b/gcc/cgraph.c @@ -3835,7 +3835,7 @@ symbol_table_test::symbol_table_test () { gcc_assert (saved_symtab == NULL); saved_symtab = symtab; - symtab = new (ggc_cleared_alloc <symbol_table> ()) symbol_table (); + symtab = new (ggc_alloc <symbol_table> ()) symbol_table (); } /* Destructor. Restore the old value of symtab. */ diff --git a/gcc/cgraph.h b/gcc/cgraph.h index 73b2be6d26d..733d616fb8c 100644 --- a/gcc/cgraph.h +++ b/gcc/cgraph.h @@ -2095,9 +2095,19 @@ public: friend struct cgraph_node; friend struct cgraph_edge; - symbol_table (): cgraph_max_uid (1), cgraph_max_summary_id (0), - edges_max_uid (1), edges_max_summary_id (0), - cgraph_released_summary_ids (), edge_released_summary_ids () + symbol_table (): + cgraph_count (0), cgraph_max_uid (1), cgraph_max_summary_id (0), + edges_count (0), edges_max_uid (1), edges_max_summary_id (0), + cgraph_released_summary_ids (), edge_released_summary_ids (), + nodes (NULL), asmnodes (NULL), asm_last_node (NULL), + order (0), global_info_ready (false), state (PARSING), + function_flags_ready (false), cpp_implicit_aliases_done (false), + section_hash (NULL), assembler_name_hash (NULL), init_priority_hash (NULL), + dump_file (NULL), ipa_clones_dump_file (NULL), cloned_nodes (), + m_first_edge_removal_hook (NULL), m_first_cgraph_removal_hook (NULL), + m_first_edge_duplicated_hook (NULL), m_first_cgraph_duplicated_hook (NULL), + m_first_cgraph_insertion_hook (NULL), m_first_varpool_insertion_hook (NULL), + m_first_varpool_removal_hook (NULL) { } @@ -2343,6 +2353,9 @@ public: /* Vector of released summary IDS for cgraph nodes. */ vec<int> GTY ((skip)) edge_released_summary_ids; + /* Return symbol used to separate symbol name from suffix. */ + static char symbol_suffix_separator (); + symtab_node* GTY(()) nodes; asm_node* GTY(()) asmnodes; asm_node* GTY(()) asm_last_node; @@ -2372,9 +2385,6 @@ public: FILE* GTY ((skip)) dump_file; - /* Return symbol used to separate symbol name from suffix. */ - static char symbol_suffix_separator (); - FILE* GTY ((skip)) ipa_clones_dump_file; hash_set <const cgraph_node *> GTY ((skip)) cloned_nodes; diff --git a/gcc/toplev.c b/gcc/toplev.c index d741a66f385..b85d52ca9b7 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -1170,7 +1170,7 @@ general_init (const char *argv0, bool init_signals) /* Create the passes. */ g->set_passes (new gcc::pass_manager (g)); - symtab = new (ggc_cleared_alloc <symbol_table> ()) symbol_table (); + symtab = new (ggc_alloc <symbol_table> ()) symbol_table (); statistics_early_init (); debuginfo_early_init (); |