aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgloop.h
diff options
context:
space:
mode:
authorguojiufu <guojiufu@linux.ibm.com>2020-11-17 19:49:03 +0800
committerguojiufu <guojiufu@linux.ibm.com>2020-11-18 13:29:14 +0800
commitd87ee7f1c9cd2ffa6302cdfd0686d72e5bb7463b (patch)
treec4f1dda5d267c73b2a7a7e1cceffc5b13bdbe7ab /gcc/cfgloop.h
parent397654d66a4f84d4439e046cd330d9968af3b62b (diff)
downloadgcc-d87ee7f1c9cd2ffa6302cdfd0686d72e5bb7463b.zip
gcc-d87ee7f1c9cd2ffa6302cdfd0686d72e5bb7463b.tar.gz
gcc-d87ee7f1c9cd2ffa6302cdfd0686d72e5bb7463b.tar.bz2
Clean up loop-closed PHIs after loop finalize
This patch propagates loop-closed PHIs them out at loop_optimizer_finalize. For some cases, to clean up loop-closed PHIs would save efforts of optimization passes after loopdone. Thanks, Jiufu Guo. gcc/ChangeLog: 2020-10-18 Jiufu Guo <guojiufu@linux.ibm.com> * cfgloop.h (loop_optimizer_finalize): Add flag argument. * loop-init.c (loop_optimizer_finalize): Call clean_up_loop_closed_phi. * tree-cfgcleanup.h (clean_up_loop_closed_phi): New declare. * tree-ssa-loop.c (tree_ssa_loop_done): Call loop_optimizer_finalize with flag argument. * tree-ssa-propagate.c (clean_up_loop_closed_phi): New function. gcc/testsuite/ChangeLog: 2020-10-18 Jiufu Guo <guojiufu@linux.ibm.com> * gcc.dg/tree-ssa/loopclosedphi.c: New test.
Diffstat (limited to 'gcc/cfgloop.h')
-rw-r--r--gcc/cfgloop.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/cfgloop.h b/gcc/cfgloop.h
index d14689d..438b1f7 100644
--- a/gcc/cfgloop.h
+++ b/gcc/cfgloop.h
@@ -824,7 +824,7 @@ extern void init_set_costs (void);
/* Loop optimizer initialization. */
extern void loop_optimizer_init (unsigned);
-extern void loop_optimizer_finalize (function *);
+extern void loop_optimizer_finalize (function *, bool = false);
inline void
loop_optimizer_finalize ()
{