diff options
author | Tom de Vries <tom@codesourcery.com> | 2015-11-17 21:42:18 +0000 |
---|---|---|
committer | Tom de Vries <vries@gcc.gnu.org> | 2015-11-17 21:42:18 +0000 |
commit | 635d5dd516a2d4512a2d90dade2f1d7b54632907 (patch) | |
tree | 8b600ea7ddcf61bab17ed51f133760c271cd696e /gcc | |
parent | 886c388d74901f294841263f2c2400fe8a586eae (diff) | |
download | gcc-635d5dd516a2d4512a2d90dade2f1d7b54632907.zip gcc-635d5dd516a2d4512a2d90dade2f1d7b54632907.tar.gz gcc-635d5dd516a2d4512a2d90dade2f1d7b54632907.tar.bz2 |
Clear LOOP_CLOSED_SSA after pass_ccp
2015-11-17 Tom de Vries <tom@codesourcery.com>
* tree-ssa-ccp.c (do_ssa_ccp): Clear LOOP_CLOSED_SSA in loops state if
something changed.
From-SVN: r230503
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree-ssa-ccp.c | 10 |
2 files changed, 14 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b208b47..a21f18b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2015-11-17 Tom de Vries <tom@codesourcery.com> + * tree-ssa-ccp.c (do_ssa_ccp): Clear LOOP_CLOSED_SSA in loops state if + something changed. + +2015-11-17 Tom de Vries <tom@codesourcery.com> + * cfgloop.h (struct loop): Add in_oacc_kernels_region field. * omp-low.c (mark_loops_in_oacc_kernels_region): New function. (expand_omp_target): Call mark_loops_in_oacc_kernels_region. diff --git a/gcc/tree-ssa-ccp.c b/gcc/tree-ssa-ccp.c index 7b6b451..7e8bc52 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; } |