aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop.c
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/tree-ssa-loop.c
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/tree-ssa-loop.c')
-rw-r--r--gcc/tree-ssa-loop.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-ssa-loop.c b/gcc/tree-ssa-loop.c
index 5e8365d..339a0c5 100644
--- a/gcc/tree-ssa-loop.c
+++ b/gcc/tree-ssa-loop.c
@@ -529,7 +529,7 @@ tree_ssa_loop_done (void)
{
free_numbers_of_iterations_estimates (cfun);
scev_finalize ();
- loop_optimizer_finalize ();
+ loop_optimizer_finalize (cfun, true);
return 0;
}