This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Move late_global_decl call
- From: Richard Biener <rguenther at suse dot de>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 20 Aug 2015 13:00:21 +0200 (CEST)
- Subject: [PATCH] Move late_global_decl call
- Authentication-results: sourceware.org; auth=none
This moves it where it really belongs, also avoiding extra work for
the slim LTO compile phase.
Bootstrapped and tested and gdb tested on x86_64-unknown-linux-gnu,
applied.
Richard.
2015-08-20 Richard Biener <rguenther@suse.de>
* toplev.c (compile_file): Remove loop calling late_global_decl
on all symbols.
* varpool.c (varpool_node::assemble_decl): Call late_global_decl
on decls we assembled.
Index: gcc/toplev.c
===================================================================
--- gcc/toplev.c (revision 226966)
+++ gcc/toplev.c (working copy)
@@ -580,15 +580,6 @@ compile_file (void)
if (seen_error ())
return;
- /* After the parser has generated debugging information, augment
- this information with any new location/etc information that may
- have become available after the compilation proper. */
- timevar_start (TV_PHASE_DBGINFO);
- symtab_node *node;
- FOR_EACH_DEFINED_SYMBOL (node)
- debug_hooks->late_global_decl (node->decl);
- timevar_stop (TV_PHASE_DBGINFO);
-
timevar_start (TV_PHASE_LATE_ASM);
/* Compilation unit is finalized. When producing non-fat LTO object, we are
Index: gcc/varpool.c
===================================================================
--- gcc/varpool.c (revision 226966)
+++ gcc/varpool.c (working copy)
@@ -586,6 +586,12 @@ varpool_node::assemble_decl (void)
gcc_assert (TREE_ASM_WRITTEN (decl));
gcc_assert (definition);
assemble_aliases ();
+ /* After the parser has generated debugging information, augment
+ this information with any new location/etc information that may
+ have become available after the compilation proper. */
+ timevar_start (TV_PHASE_DBGINFO);
+ debug_hooks->late_global_decl (decl);
+ timevar_stop (TV_PHASE_DBGINFO);
return true;
}