diff options
author | Daniel Berlin <dan@cgsoftware.com> | 2001-07-16 16:23:40 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2001-07-16 10:23:40 -0600 |
commit | 978cf2fcf5d4858bb326ad7d8e84be1d51c2a593 (patch) | |
tree | fe9d83649fcc4a227ca081ec6707d857d59492bd /gcc/ssa-ccp.c | |
parent | 55680aef7f48adcd37a1624288d4dc164f44e105 (diff) | |
download | gcc-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.c | 34 |
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); + } + } - } } } |