aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-dce.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-ssa-dce.cc')
-rw-r--r--gcc/tree-ssa-dce.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/tree-ssa-dce.cc b/gcc/tree-ssa-dce.cc
index d77e541..2949957 100644
--- a/gcc/tree-ssa-dce.cc
+++ b/gcc/tree-ssa-dce.cc
@@ -1481,6 +1481,14 @@ eliminate_unnecessary_stmts (bool aggressive)
case IFN_MUL_OVERFLOW:
maybe_optimize_arith_overflow (&gsi, MULT_EXPR);
break;
+ case IFN_UADDC:
+ if (integer_zerop (gimple_call_arg (stmt, 2)))
+ maybe_optimize_arith_overflow (&gsi, PLUS_EXPR);
+ break;
+ case IFN_USUBC:
+ if (integer_zerop (gimple_call_arg (stmt, 2)))
+ maybe_optimize_arith_overflow (&gsi, MINUS_EXPR);
+ break;
default:
break;
}