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
This commit is contained in:
parent
55680aef7f
commit
978cf2fcf5
@ -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>
|
2001-07-16 Andreas Jaeger <aj@suse.de>
|
||||||
|
|
||||||
* gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
|
* gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
|
||||||
|
@ -732,10 +732,17 @@ optimize_unexecutable_edges (edges, executable_edges)
|
|||||||
while (PHI_NODE_P (insn))
|
while (PHI_NODE_P (insn))
|
||||||
{
|
{
|
||||||
remove_phi_alternative (PATTERN (insn), edge->src);
|
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);
|
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. */
|
/* Since the edge was not executable, remove it from the CFG. */
|
||||||
remove_edge (edge);
|
remove_edge (edge);
|
||||||
}
|
}
|
||||||
@ -835,6 +842,10 @@ ssa_ccp_substitute_constants ()
|
|||||||
are consecutive at the start of the basic block. */
|
are consecutive at the start of the basic block. */
|
||||||
if (! PHI_NODE_P (def))
|
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;
|
SET_SRC (set) = values[i].const_value;
|
||||||
INSN_CODE (def) = -1;
|
INSN_CODE (def) = -1;
|
||||||
df_insn_modify (df_analyzer, BLOCK_FOR_INSN (def), def);
|
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) == INSN
|
||||||
|| GET_CODE (useinsn) == JUMP_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,
|
values[i].const_value,
|
||||||
useinsn);
|
useinsn))
|
||||||
INSN_CODE (useinsn) = -1;
|
{
|
||||||
df_insn_modify (df_analyzer,
|
if (rtl_dump_file)
|
||||||
BLOCK_FOR_INSN (useinsn),
|
fprintf (rtl_dump_file,
|
||||||
useinsn);
|
"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);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user