ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal of edge...
authorDaniel Berlin <dan@cgsoftware.com>
Mon, 16 Jul 2001 16:23:40 +0000 (16:23 +0000)
committerJeff Law <law@gcc.gnu.org>
Mon, 16 Jul 2001 16:23:40 +0000 (10:23 -0600)
        * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
        of edge, and removal of phi alternative to dump file.
        (ssa_ccp_substitute_constants): Add note about register now being
        constant, and which uses were replaced in what insns to dump file.

From-SVN: r44042

gcc/ChangeLog
gcc/ssa-ccp.c

index c5dd275ed535ba1aacc788be39873629baf31a1e..e22f06fcae42e685b11da378ff41c0849904ab6a 100644 (file)
@@ -1,3 +1,10 @@
+2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
+
+       * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
+       of edge, and removal of phi alternative to dump file. 
+       (ssa_ccp_substitute_constants): Add note about register now being
+       constant, and which uses were replaced in what insns to dump file.
+
 2001-07-16  Andreas Jaeger  <aj@suse.de>
 
        * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
index 2252556282eacb47b41bdfc7c286b8e57d6e49a0..851445f7bc4ada35274a9f9b243a54c5ea8327dd 100644 (file)
@@ -732,10 +732,17 @@ optimize_unexecutable_edges (edges, executable_edges)
              while (PHI_NODE_P (insn))
                {
                  remove_phi_alternative (PATTERN (insn), edge->src);
+                 if (rtl_dump_file)
+                   fprintf (rtl_dump_file,
+                            "Removing alternative for bb %d of phi %d\n", 
+                            edge->src->index, SSA_NAME (PATTERN (insn)));
                  insn = NEXT_INSN (insn);
                }
            }
-
+         if (rtl_dump_file)
+           fprintf (rtl_dump_file,
+                    "Removing unexecutable edge from %d to %d\n",
+                    edge->src->index, edge->dest->index);
          /* Since the edge was not executable, remove it from the CFG.  */
          remove_edge (edge);
        }
@@ -835,6 +842,10 @@ ssa_ccp_substitute_constants ()
             are consecutive at the start of the basic block.  */
          if (! PHI_NODE_P (def))
            {
+             if (rtl_dump_file)
+               fprintf (rtl_dump_file,
+                        "Register %d is now set to a constant\n",
+                        SSA_NAME (PATTERN (def)));
              SET_SRC (set) = values[i].const_value;
              INSN_CODE (def) = -1;
              df_insn_modify (df_analyzer, BLOCK_FOR_INSN (def), def);
@@ -858,15 +869,22 @@ ssa_ccp_substitute_constants ()
                  && (GET_CODE (useinsn) == INSN
                      || GET_CODE (useinsn) == JUMP_INSN))
                {
-                 validate_replace_src (regno_reg_rtx [i],
+                 
+                 if (validate_replace_src (regno_reg_rtx [i],
                                        values[i].const_value,
-                                       useinsn);
-                 INSN_CODE (useinsn) = -1;
-                 df_insn_modify (df_analyzer,
-                                 BLOCK_FOR_INSN (useinsn),
-                                 useinsn);
+                                           useinsn))
+                   {
+                     if (rtl_dump_file)
+                       fprintf (rtl_dump_file, 
+                                "Register %d in insn %d replaced with constant\n",
+                                i, INSN_UID (useinsn));
+                     INSN_CODE (useinsn) = -1;
+                     df_insn_modify (df_analyzer,
+                                     BLOCK_FOR_INSN (useinsn),
+                                     useinsn);
+                   }
+                 
                }
-
            }
        }
     }