]> git.ipfire.org Git - thirdparty/gcc.git/commit
Speed up LC SSA rewrite more
authorRichard Biener <rguenther@suse.de>
Thu, 7 Jul 2022 07:29:55 +0000 (09:29 +0200)
committerRichard Biener <rguenther@suse.de>
Thu, 7 Jul 2022 08:49:45 +0000 (10:49 +0200)
commit1e1fdb729d99647bb90d8a18afa1a5fc3c2d3a22
tree375d7f7156f34c4b1ce14561cf3c110d260ce787
parente5a9d60317852a7323e46109fa366e630b8b5bae
Speed up LC SSA rewrite more

In many cases loops have only one exit or a variable is only live
across one of the exits.  In this case we know that all uses
outside of the loop will be dominated by the single LC PHI node
we insert.  If that holds for all variables requiring LC SSA PHIs
then we can simplify the update_ssa process, avoiding the
(iterated) dominance frontier computations.

* tree-ssa-loop-manip.cc (add_exit_phis_var): Return the
number of LC PHIs inserted.
(add_exit_phis): Return whether any variable required
multiple LC PHI nodes.
(rewrite_into_loop_closed_ssa_1): Use TODO_update_ssa_no_phi
when possible.
gcc/tree-ssa-loop-manip.cc