This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Add tree rest of compilation timevar
- From: Jeffrey A Law <law at redhat dot com>
- To: Andrew Pinski <pinskia at physics dot uc dot edu>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 29 Dec 2004 12:28:57 -0700
- Subject: Re: [PATCH] Add tree rest of compilation timevar
- Organization: Red Hat, Inc
- References: <89EC3296-595A-11D9-AB83-000A95D692F4@physics.uc.edu>
- Reply-to: law at redhat dot com
On Wed, 2004-12-29 at 00:28 -0500, Andrew Pinski wrote:
> As Jeff Law and others have discussed before, we attribute some non
> expand related code to expand. This patch add a new time var for
> tree rest of compilation, just like rest of compilation for RTL level.
>
> OK? Bootstrapped and tested on powerpc-darwin.
>
> Thanks,
> Andrew Pinski
>
> ChangeLog:
>
> * timevar.def (TV_TREE_REST): New time var.
> * tree-optimize.c (tree_rest_of_compilation): Use TV_TREE_REST instead
> of TV_EXPAND.
All this does is move the problem from one place TV_EXPAND to
TV_TREE_REST -- it does nothing to actually resolve the issues at hand.
[ ie, TV_TREE_REST gets all the random tree-optimizer stuff plus the
tree->rtl expansion time. ]
The fundamental problem here is that we have a passes that do not
specify a timevar, in which case their time is charged to whatever
timevar is on the top of the timevar stack, which for the tree optimizer
path is TV_EXPAND.
The way to fix this is to either have those passes all have an explicit
timevar they use, or change the pass manager to TV_TREE_REST for passes
which do not have an explicit timevar.
jeff