]> git.ipfire.org Git - thirdparty/gcc.git/commit
remove dominator recursion from reassoc
authorRichard Biener <rguenther@suse.de>
Wed, 25 Sep 2024 10:46:28 +0000 (12:46 +0200)
committerRichard Biener <rguenth@gcc.gnu.org>
Wed, 25 Sep 2024 12:23:15 +0000 (14:23 +0200)
commitaf8ff0047e45b95c8b7b9dd291b4978fcdf9001d
treee00e1d8faa652fbaa705785b153d7371cc2499d5
parent9b7626383822799d60ea3c62e62e700f16337cd6
remove dominator recursion from reassoc

The reassoc pass currently walks dominators in a recursive way where
I ran into a stack overflow with.  The following replaces it with
worklists following patterns used elsewhere.

* tree-ssa-reassoc.cc (break_up_subtract_bb): Remove recursion.
(reassociate_bb): Likewise.
(do_reassoc): Implement worklist based dominator walks for
both break_up_subtract_bb and reassociate_bb.
gcc/tree-ssa-reassoc.cc