[Bug tree-optimization/85964] [8/9 Regression] Compile time hog w/ -O3 -ftracer -fno-guess-branch-probability
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue May 29 10:50:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85964
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |8.2
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Maintaining dominators is costly.
diff --git a/gcc/dominance.c b/gcc/dominance.c
index 20671983f98..5ba765c82be 100644
--- a/gcc/dominance.c
+++ b/gcc/dominance.c
@@ -1475,6 +1475,8 @@ iterate_fix_dominators (enum cdi_direction dir,
vec<basic_block> bbs,
return;
}
+ timevar_push (TV_DOMINANCE);
+
/* Construct the graph G. */
hash_map<basic_block, int> map (251);
FOR_EACH_VEC_ELT (bbs, i, bb)
@@ -1537,6 +1539,8 @@ iterate_fix_dominators (enum cdi_direction dir,
vec<basic_block> bbs,
free (parent);
free_graph (g);
+
+ timevar_pop (TV_DOMINANCE);
}
void
shows
backwards jump threading : 9.02 ( 37%) 0.00 ( 0%) 9.01 ( 37%)
0 kB ( 0%)
dominance computation : 9.89 ( 40%) 0.01 ( 33%) 10.02 ( 41%)
0 kB ( 0%)
so there are two offenders. The dominance one is from CFG cleanup as
-ftime-report-details shows:
tree CFG cleanup : 3.52 ( 14%) 0.01 ( 25%) 3.43 ( 14%)
773 kB ( 3%)
`- dominance computation : 9.66 ( 39%) 0.01 ( 25%) 9.77 ( 39%)
0 kB ( 0%)
`- tree operand scan : 0.00 ( 0%) 0.00 ( 0%) 0.01 ( 0%)
0 kB ( 0%)
`- CFG verifier : 0.04 ( 0%) 0.00 ( 0%) 0.02 ( 0%)
0 kB ( 0%)
More information about the Gcc-bugs
mailing list