diff mbox series

Use a separate TV_* timer for the VRP threader.

Message ID 20210929152607.1270206-1-aldyh@redhat.com
State New
Headers show
Series Use a separate TV_* timer for the VRP threader. | expand

Commit Message

Aldy Hernandez Sept. 29, 2021, 3:26 p.m. UTC
There seems to be a memory consumption issue on 32 bit hosts after the
hybrid threader patchset.  I'm having a hard time reproducing, and in
the process I've noticed that the threader is using the TV_TREE_VRP
timer.  Having a distinct one could help diagnose this and other
issues going forward.

Jeff, if you think this could help, I'd like to push this to trunk, but
if not, I'm perfectly happy attaching it to the 2 PRs for now. :)

gcc/ChangeLog:

	* timevar.def (TV_TREE_VRP_THREADER): New.
	* tree-vrp.c: Use TV_TREE_VRP_THREADER for VRP threader pass.
---
 gcc/timevar.def | 1 +
 gcc/tree-vrp.c  | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

Comments

Jeff Law Sept. 29, 2021, 3:30 p.m. UTC | #1
On 9/29/2021 9:26 AM, Aldy Hernandez wrote:
> There seems to be a memory consumption issue on 32 bit hosts after the
> hybrid threader patchset.  I'm having a hard time reproducing, and in
> the process I've noticed that the threader is using the TV_TREE_VRP
> timer.  Having a distinct one could help diagnose this and other
> issues going forward.
>
> Jeff, if you think this could help, I'd like to push this to trunk, but
> if not, I'm perfectly happy attaching it to the 2 PRs for now. :)
>
> gcc/ChangeLog:
>
> 	* timevar.def (TV_TREE_VRP_THREADER): New.
> 	* tree-vrp.c: Use TV_TREE_VRP_THREADER for VRP threader pass.
OK.

And just to be clear, I'm talking about slowing down on refactoring and 
the like.  Bugfixes, dumping improvements and the like can and should go 
forward.


Jeff
Aldy Hernandez Sept. 29, 2021, 4:30 p.m. UTC | #2
On Wed, Sep 29, 2021 at 5:31 PM Jeff Law <jeffreyalaw@gmail.com> wrote:
>
>
>
> On 9/29/2021 9:26 AM, Aldy Hernandez wrote:
> > There seems to be a memory consumption issue on 32 bit hosts after the
> > hybrid threader patchset.  I'm having a hard time reproducing, and in
> > the process I've noticed that the threader is using the TV_TREE_VRP
> > timer.  Having a distinct one could help diagnose this and other
> > issues going forward.
> >
> > Jeff, if you think this could help, I'd like to push this to trunk, but
> > if not, I'm perfectly happy attaching it to the 2 PRs for now. :)
> >
> > gcc/ChangeLog:
> >
> >       * timevar.def (TV_TREE_VRP_THREADER): New.
> >       * tree-vrp.c: Use TV_TREE_VRP_THREADER for VRP threader pass.
> OK.
>
> And just to be clear, I'm talking about slowing down on refactoring and
> the like.  Bugfixes, dumping improvements and the like can and should go
> forward.

ACK.

In that case, is it ok to push the changes to the testsuite fixing
PPC64 and others?

https://gcc.gnu.org/pipermail/gcc-patches/2021-September/580411.html

Thanks.
Aldy
Jeff Law Sept. 29, 2021, 4:32 p.m. UTC | #3
On 9/29/2021 10:30 AM, Aldy Hernandez wrote:
> On Wed, Sep 29, 2021 at 5:31 PM Jeff Law <jeffreyalaw@gmail.com> wrote:
>>
>>
>> On 9/29/2021 9:26 AM, Aldy Hernandez wrote:
>>> There seems to be a memory consumption issue on 32 bit hosts after the
>>> hybrid threader patchset.  I'm having a hard time reproducing, and in
>>> the process I've noticed that the threader is using the TV_TREE_VRP
>>> timer.  Having a distinct one could help diagnose this and other
>>> issues going forward.
>>>
>>> Jeff, if you think this could help, I'd like to push this to trunk, but
>>> if not, I'm perfectly happy attaching it to the 2 PRs for now. :)
>>>
>>> gcc/ChangeLog:
>>>
>>>        * timevar.def (TV_TREE_VRP_THREADER): New.
>>>        * tree-vrp.c: Use TV_TREE_VRP_THREADER for VRP threader pass.
>> OK.
>>
>> And just to be clear, I'm talking about slowing down on refactoring and
>> the like.  Bugfixes, dumping improvements and the like can and should go
>> forward.
> ACK.
>
> In that case, is it ok to push the changes to the testsuite fixing
> PPC64 and others?
>
> https://gcc.gnu.org/pipermail/gcc-patches/2021-September/580411.html
I thought I'd already ACK'd that :-)    But apparently not.  Yes, go 
ahead with it.

jeff
diff mbox series

Patch

diff --git a/gcc/timevar.def b/gcc/timevar.def
index 16d1657436c..f903833ce9e 100644
--- a/gcc/timevar.def
+++ b/gcc/timevar.def
@@ -158,6 +158,7 @@  DEFTIMEVAR (TV_TREE_CFG		     , "tree CFG construction")
 DEFTIMEVAR (TV_TREE_CLEANUP_CFG	     , "tree CFG cleanup")
 DEFTIMEVAR (TV_TREE_TAIL_MERGE       , "tree tail merge")
 DEFTIMEVAR (TV_TREE_VRP              , "tree VRP")
+DEFTIMEVAR (TV_TREE_VRP_THREADER     , "tree VRP threader")
 DEFTIMEVAR (TV_TREE_EARLY_VRP        , "tree Early VRP")
 DEFTIMEVAR (TV_TREE_COPY_PROP        , "tree copy propagation")
 DEFTIMEVAR (TV_FIND_REFERENCED_VARS  , "tree find ref. vars")
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index 5aded5edb11..db9f3cd0a2f 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -4449,7 +4449,7 @@  const pass_data pass_data_vrp_threader =
   GIMPLE_PASS, /* type */
   "vrp-thread", /* name */
   OPTGROUP_NONE, /* optinfo_flags */
-  TV_TREE_VRP, /* tv_id */
+  TV_TREE_VRP_THREADER, /* tv_id */
   PROP_ssa, /* properties_required */
   0, /* properties_provided */
   0, /* properties_destroyed */