This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] Preliminary analysis on POOMA slow downs (was Re: [tree-ssa] Speed up constant propagation)
- From: Andrew Pinski <pinskia at physics dot uc dot edu>
- To: Diego Novillo <dnovillo at redhat dot com>
- Cc: Andrew Pinski <pinskia at physics dot uc dot edu>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Tue, 17 Jun 2003 13:23:45 -0400
- Subject: Re: [tree-ssa] Preliminary analysis on POOMA slow downs (was Re: [tree-ssa] Speed up constant propagation)
On Tuesday, Jun 17, 2003, at 13:07 US/Eastern, Diego Novillo wrote:
I'm a bit surprised that the inliner is taking such a big hit. What
exactly is the varconst pass? We are giving more work to the garbage
collector, not entirely surprising. I still haven't examined the other
passes.
From toplev.c:
/* Forward declarations for nested functions are not "external",
but we need to treat them as if they were. */
if (TREE_STATIC (decl) || DECL_EXTERNAL (decl)
|| TREE_CODE (decl) == FUNCTION_DECL)
{
timevar_push (TV_VARCONST);
if (asmspec)
make_decl_rtl (decl, asmspec);
/* Don't output anything when a tentative file-scope definition
is seen. But at end of compilation, do output code for them.
*/
if (at_end || !DECL_DEFER_OUTPUT (decl))
assemble_variable (decl, top_level, at_end, 0);
#ifdef ASM_FINISH_DECLARE_OBJECT
if (decl == last_assemble_variable_decl)
{
ASM_FINISH_DECLARE_OBJECT (asm_out_file, decl,
top_level, at_end);
}
#endif
timevar_pop (TV_VARCONST);
}
Don't know what that means but that is where the time is spent.
Thanks,
Andrew Pinski