[Bug c++/71330] [6/7 Regression] Compile time regression
ppalka at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue May 31 21:17:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71330
--- Comment #11 from Patrick Palka <ppalka at gcc dot gnu.org> ---
(In reply to Patrick Palka from comment #10)
> I think the problem is with cp_fold_function() which does
>
> cp_walk_tree (&DECL_SAVED_TREE (fndecl), cp_fold_r, NULL, NULL);
>
> and cp_fold_r is itself recursive so the number of calls made to cp_fold_r
> via cp_fold_function() is quadratic with respect to the size of the
> function's subexpressions. The test case features a huge subexpression
> arising from the chain of overloaded <<s.
My guess is wrong. Removing the call to cp_fold within cp_fold_r doesn't fix
the slowdown.
But calling cp_walk_tree instead of cp_walk_tree_without_duplicates does...
More information about the Gcc-bugs
mailing list