aboutsummaryrefslogtreecommitdiff
path: root/gcc/ssa-ccp.c
diff options
context:
space:
mode:
authorDaniel Berlin <dan@cgsoftware.com>2001-07-16 16:23:40 +0000
committerJeff Law <law@gcc.gnu.org>2001-07-16 10:23:40 -0600
commit978cf2fcf5d4858bb326ad7d8e84be1d51c2a593 (patch)
treefe9d83649fcc4a227ca081ec6707d857d59492bd /gcc/ssa-ccp.c
parent55680aef7f48adcd37a1624288d4dc164f44e105 (diff)
downloadgcc-978cf2fcf5d4858bb326ad7d8e84be1d51c2a593.zip
gcc-978cf2fcf5d4858bb326ad7d8e84be1d51c2a593.tar.gz
gcc-978cf2fcf5d4858bb326ad7d8e84be1d51c2a593.tar.bz2
ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal of edge...
* 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
Diffstat (limited to 'gcc/ssa-ccp.c')
-rw-r--r--gcc/ssa-ccp.c34
1 files changed, 26 insertions, 8 deletions
diff --git a/gcc/ssa-ccp.c b/gcc/ssa-ccp.c
index 2252556..851445f 100644
--- a/gcc/ssa-ccp.c
+++ b/gcc/ssa-ccp.c
@@ -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);
+ }
+
}
-
}
}
}