passes.c (rest_of_decl_compilation): Don't defer call of assemble_variable if its DECL_RTL is already set.

* passes.c (rest_of_decl_compilation): Don't defer call of
assemble_variable if its DECL_RTL is already set.

From-SVN: r84576
This commit is contained in:
Alexandre Oliva 2004-07-12 21:51:03 +00:00 committed by Alexandre Oliva
parent 9baba81be5
commit a0c71497f5
2 changed files with 13 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2004-07-12 Alexandre Oliva <aoliva@redhat.com>
* passes.c (rest_of_decl_compilation): Don't defer call of
assemble_variable if its DECL_RTL is already set.
2004-07-12 Sebastian Pop <pop@cri.ensmp.fr>
* cfgloop.h (struct loop): Add nb_iterations field.

View File

@ -370,7 +370,14 @@ rest_of_decl_compilation (tree decl,
&& !DECL_EXTERNAL (decl))
{
if (flag_unit_at_a_time && !cgraph_global_info_ready
&& TREE_CODE (decl) != FUNCTION_DECL && top_level)
&& TREE_CODE (decl) != FUNCTION_DECL && top_level
/* If we defer processing of decls that have had their
DECL_RTL set above (say, in make_decl_rtl),
check_global_declarations() will clear it before
assemble_variable has a chance to act on it. This
would remove all traces of the register name in a
global register variable, for example. */
&& !DECL_RTL_SET_P (decl))
cgraph_varpool_finalize_decl (decl);
else
assemble_variable (decl, top_level, at_end, 0);