tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Use EDGE_COUNT instead of GOTO_DESTINATION.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary) <COND_EXPR>: Use EDGE_COUNT instead of GOTO_DESTINATION. From-SVN: r89729
This commit is contained in:
parent
425834072e
commit
269da1e916
|
@ -1,3 +1,8 @@
|
|||
2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
|
||||
|
||||
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
|
||||
<COND_EXPR>: Use EDGE_COUNT instead of GOTO_DESTINATION.
|
||||
|
||||
2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
|
||||
|
||||
* doc/contrib.texi, doc/cpp.texi, doc/cppopts.texi,
|
||||
|
|
|
@ -330,17 +330,7 @@ mark_stmt_if_obviously_necessary (tree stmt, bool aggressive)
|
|||
return;
|
||||
|
||||
case COND_EXPR:
|
||||
if (GOTO_DESTINATION (COND_EXPR_THEN (stmt))
|
||||
== GOTO_DESTINATION (COND_EXPR_ELSE (stmt)))
|
||||
{
|
||||
/* A COND_EXPR is obviously dead if the target labels are the same.
|
||||
We cannot kill the statement at this point, so to prevent the
|
||||
statement from being marked necessary, we replace the condition
|
||||
with a constant. The stmt is killed later on in cfg_cleanup. */
|
||||
COND_EXPR_COND (stmt) = integer_zero_node;
|
||||
modify_stmt (stmt);
|
||||
return;
|
||||
}
|
||||
gcc_assert (EDGE_COUNT (bb_for_stmt (stmt)->succs) == 2);
|
||||
/* Fall through. */
|
||||
|
||||
case SWITCH_EXPR:
|
||||
|
|
Loading…
Reference in New Issue