From: Bill Schmidt Date: Thu, 29 Sep 2011 14:06:31 +0000 (+0000) Subject: graphite-scop-detection.c (make_close_phi_nodes_unique): New forward declaration. X-Git-Tag: releases/gcc-4.7.0~3467 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=99e2796b5c6ec4d6fff1b5aa0ba1fd9d19a1f1a2;p=thirdparty%2Fgcc.git graphite-scop-detection.c (make_close_phi_nodes_unique): New forward declaration. 2011-09-29 Bill Schmidt * graphite-scop-detection.c (make_close_phi_nodes_unique): New forward declaration. (remove_duplicate_close_phi): Detect and repair creation of duplicate close-phis for a containing loop. From-SVN: r179351 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 465ce0d03b0f..71f9b59a2a75 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2011-09-29 Bill Schmidt + + * graphite-scop-detection.c (make_close_phi_nodes_unique): New + forward declaration. + (remove_duplicate_close_phi): Detect and repair creation of + duplicate close-phis for a containing loop. + 2011-09-27 Andi Kleen * gcc.c (get_local_tick). Rename to get_random_number. diff --git a/gcc/graphite-scop-detection.c b/gcc/graphite-scop-detection.c index 346056899d31..e8370ef4e5a1 100644 --- a/gcc/graphite-scop-detection.c +++ b/gcc/graphite-scop-detection.c @@ -36,6 +36,9 @@ along with GCC; see the file COPYING3. If not see #include "graphite-poly.h" #include "graphite-scop-detection.h" +/* Forward declarations. */ +static void make_close_phi_nodes_unique (basic_block); + /* The type of the analyzed basic block. */ typedef enum gbb_type { @@ -1231,6 +1234,13 @@ remove_duplicate_close_phi (gimple phi, gimple_stmt_iterator *gsi) SET_USE (use_p, res); update_stmt (use_stmt); + + /* It is possible that we just created a duplicate close-phi + for an already-processed containing loop. Check for this + case and clean it up. */ + if (gimple_code (use_stmt) == GIMPLE_PHI + && gimple_phi_num_args (use_stmt) == 1) + make_close_phi_nodes_unique (gimple_bb (use_stmt)); } remove_phi_node (gsi, true);