[Bug tree-optimization/106809] [12/13 regression] large bison grammars compilation got a lot slower, mainly due to -Wuninitialized
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Sep 2 11:44:44 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106809
--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
Oh, and the dominated_by_p_w_unex issue is that we do
if (succe && EDGE_COUNT (succe->dest->preds) == 1)
{
/* Verify the reached block is only reached through succe.
If there is only one edge we can spare us the dominator
check and iterate directly. */
if (EDGE_COUNT (succe->dest->preds) > 1)
{
FOR_EACH_EDGE (e, ei, succe->dest->preds)
if (e != succe
&& ((e->flags & EDGE_EXECUTABLE)
|| (!allow_back && (e->flags & EDGE_DFS_BACK))))
{
succe = NULL;
break;
}
where this is problematic because in the testcase with the switch stmt we have
1000s of incoming edges into succe->dest. I'm testing an easy workaround for
the testcase and the original case from bison. A more general fix requires
some more work.
More information about the Gcc-bugs
mailing list