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