[tree-ssa] Preliminary analysis on POOMA slow downs (was Re: [tree-ssa] Speed up constant propagation)

Andrew Pinski pinskia@physics.uc.edu
Tue Jun 17 18:29:00 GMT 2003


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



More information about the Gcc mailing list