Use a separate TV_* timer for the VRP threader.
Commit Message
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
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
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
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
@@ -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")
@@ -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 */