Hi,

In tree-ssa-coalesce, register_ssa_partition ) and
register_ssa_partition_check have lost their meaning over various commits and now just verifies that ssa_var is indeed a SSA_NAME and not a virtual_operand_p. It is confusing when one look at if for the fist time and would expect more while reading the register_ssa_partition.

Attached patch just changes it to verify_ssa_for_coalesce to better reflect what it is doing now.

Bootstrap and regression testing is ongoing. Is this OK for trunk if no regressions?

Thanks,
Kugan



gcc/ChangeLog:

2016-11-08  Kugan Vivekanandarajah  <kug...@linaro.org>

        * tree-ssa-coalesce.c (register_default_def): Remove usage of arg
        map which is not used at all.
        (create_outofssa_var_map): Use renamed verify_ssa_for_coalesce from
        register_ssa_partition.
* tree-ssa-live.c (verify_ssa_for_coalesce): Renamed register_ssa_partition.
        (register_ssa_partition_check): Remove.
* tree-ssa-live.h (register_ssa_partition): Renamed to verify_ssa_for_coalesce
diff --git a/gcc/tree-ssa-coalesce.c b/gcc/tree-ssa-coalesce.c
index 6423cdd..8adbd62 100644
--- a/gcc/tree-ssa-coalesce.c
+++ b/gcc/tree-ssa-coalesce.c
@@ -1040,17 +1040,15 @@ create_default_def (tree var, void *arg 
ATTRIBUTE_UNUSED)
 /* Register VAR's default def in MAP.  */
 
 static void
-register_default_def (tree var, void *map_)
+register_default_def (tree var, void *arg ATTRIBUTE_UNUSED)
 {
-  var_map map = (var_map)map_;
-
   if (!is_gimple_reg (var))
     return;
 
   tree ssa = ssa_default_def (cfun, var);
   gcc_assert (ssa);
 
-  register_ssa_partition (map, ssa);
+  verify_ssa_for_coalesce (ssa);
 }
 
 /* If VAR is an SSA_NAME associated with a PARM_DECL or a RESULT_DECL,
@@ -1096,7 +1094,7 @@ create_outofssa_var_map (coalesce_list *cl, bitmap 
used_in_copy)
 
   map = init_var_map (num_ssa_names);
 
-  for_all_parms (register_default_def, map);
+  for_all_parms (register_default_def, NULL);
 
   FOR_EACH_BB_FN (bb, cfun)
     {
@@ -1114,7 +1112,7 @@ create_outofssa_var_map (coalesce_list *cl, bitmap 
used_in_copy)
 
          res = gimple_phi_result (phi);
          ver = SSA_NAME_VERSION (res);
-         register_ssa_partition (map, res);
+         verify_ssa_for_coalesce (res);
 
          /* Register ssa_names and coalesces between the args and the result
             of all PHI.  */
@@ -1125,7 +1123,7 @@ create_outofssa_var_map (coalesce_list *cl, bitmap 
used_in_copy)
              if (TREE_CODE (arg) != SSA_NAME)
                continue;
 
-             register_ssa_partition (map, arg);
+             verify_ssa_for_coalesce (arg);
              if (gimple_can_coalesce_p (arg, res)
                  || (e->flags & EDGE_ABNORMAL))
                {
@@ -1154,7 +1152,7 @@ create_outofssa_var_map (coalesce_list *cl, bitmap 
used_in_copy)
 
          /* Register USE and DEF operands in each statement.  */
          FOR_EACH_SSA_TREE_OPERAND (var, stmt, iter, (SSA_OP_DEF|SSA_OP_USE))
-           register_ssa_partition (map, var);
+           verify_ssa_for_coalesce (var);
 
          /* Check for copy coalesces.  */
          switch (gimple_code (stmt))
diff --git a/gcc/tree-ssa-live.c b/gcc/tree-ssa-live.c
index b9eef20..1fadf86 100644
--- a/gcc/tree-ssa-live.c
+++ b/gcc/tree-ssa-live.c
@@ -102,6 +102,26 @@ delete_var_map (var_map map)
 }
 
 
+/* Verify that SSA_VAR is a non-virtual SSA_NAME when
+   flag_checking is enabled.  */
+
+void
+verify_ssa_for_coalesce (tree ssa_var)
+{
+  if (flag_checking)
+    {
+      gcc_assert (TREE_CODE (ssa_var) == SSA_NAME);
+      if (virtual_operand_p (ssa_var))
+       {
+         fprintf (stderr, "Illegally registering a virtual SSA name :");
+         print_generic_expr (stderr, ssa_var, TDF_SLIM);
+         fprintf (stderr, " in the SSA->Normal phase.\n");
+         internal_error ("SSA corruption");
+       }
+    }
+}
+
+
 /* This function will combine the partitions in MAP for VAR1 and VAR2.  It
    Returns the partition which represents the new partition.  If the two
    partitions cannot be combined, NO_PARTITION is returned.  */
@@ -1276,22 +1296,6 @@ debug (tree_live_info_d *ptr)
 }
 
 
-/* Verify that SSA_VAR is a non-virtual SSA_NAME.  */
-
-void
-register_ssa_partition_check (tree ssa_var)
-{
-  gcc_assert (TREE_CODE (ssa_var) == SSA_NAME);
-  if (virtual_operand_p (ssa_var))
-    {
-      fprintf (stderr, "Illegally registering a virtual SSA name :");
-      print_generic_expr (stderr, ssa_var, TDF_SLIM);
-      fprintf (stderr, " in the SSA->Normal phase.\n");
-      internal_error ("SSA corruption");
-    }
-}
-
-
 /* Verify that the info in LIVE matches the current cfg.  */
 
 static void
diff --git a/gcc/tree-ssa-live.h b/gcc/tree-ssa-live.h
index 6df102a..6fc0895 100644
--- a/gcc/tree-ssa-live.h
+++ b/gcc/tree-ssa-live.h
@@ -80,7 +80,7 @@ extern void remove_unused_locals (void);
 extern void dump_var_map (FILE *, var_map);
 extern void debug (_var_map &ref);
 extern void debug (_var_map *ptr);
-extern void register_ssa_partition_check (tree ssa_var);
+extern void verify_ssa_for_coalesce (tree ssa_var);
 
 
 /* Return number of partitions in MAP.  */
@@ -175,17 +175,6 @@ num_basevars (var_map map)
 
 
 
-/* This routine registers a partition for SSA_VAR with MAP.  Any unregistered
-   partitions may be filtered out by a view later.  */
-
-static inline void
-register_ssa_partition (var_map map ATTRIBUTE_UNUSED, tree ssa_var)
-{
-  if (flag_checking)
-    register_ssa_partition_check (ssa_var);
-}
-
-
 /*  ---------------- live on entry/exit info ------------------------------
 
     This structure is used to represent live range information on SSA based

Reply via email to