+2011-09-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * 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 <ak@linux.intel.com>
* gcc.c (get_local_tick). Rename to get_random_number.
#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 {
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);