This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]