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(-)

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 */
-- 
2.31.1

Reply via email to