From: vries Date: Tue, 17 Nov 2015 21:42:18 +0000 (+0000) Subject: Clear LOOP_CLOSED_SSA after pass_ccp X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e258844761b7d2f538efb44fc39f49d7ea566974;p=thirdparty%2Fgcc.git Clear LOOP_CLOSED_SSA after pass_ccp 2015-11-17 Tom de Vries * tree-ssa-ccp.c (do_ssa_ccp): Clear LOOP_CLOSED_SSA in loops state if something changed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230503 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b208b470c0b6..a21f18bbb820 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2015-11-17 Tom de Vries + + * tree-ssa-ccp.c (do_ssa_ccp): Clear LOOP_CLOSED_SSA in loops state if + something changed. + 2015-11-17 Tom de Vries * cfgloop.h (struct loop): Add in_oacc_kernels_region field. diff --git a/gcc/tree-ssa-ccp.c b/gcc/tree-ssa-ccp.c index 7b6b4518b088..7e8bc5276e99 100644 --- a/gcc/tree-ssa-ccp.c +++ b/gcc/tree-ssa-ccp.c @@ -139,6 +139,7 @@ along with GCC; see the file COPYING3. If not see #include "params.h" #include "builtins.h" #include "tree-chkp.h" +#include "cfgloop.h" /* Possible lattice values. */ @@ -2402,10 +2403,17 @@ do_ssa_ccp (bool nonzero_p) { unsigned int todo = 0; calculate_dominance_info (CDI_DOMINATORS); + ccp_initialize (); ssa_propagate (ccp_visit_stmt, ccp_visit_phi_node); if (ccp_finalize (nonzero_p)) - todo = (TODO_cleanup_cfg | TODO_update_ssa); + { + todo = (TODO_cleanup_cfg | TODO_update_ssa); + + /* ccp_finalize does not preserve loop-closed ssa. */ + loops_state_clear (LOOP_CLOSED_SSA); + } + free_dominance_info (CDI_DOMINATORS); return todo; }