https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120206
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- With this patch (and the match part of the patch attached): ``` [apinski@xeond2 gcc]$ git diff diff --git a/gcc/tree-ssa-forwprop.cc b/gcc/tree-ssa-forwprop.cc index 3187314390f..741d62135ac 100644 --- a/gcc/tree-ssa-forwprop.cc +++ b/gcc/tree-ssa-forwprop.cc @@ -523,6 +523,7 @@ forward_propagate_into_comparison (gimple_stmt_iterator *gsi) type, rhs1, rhs2); if (tmp && useless_type_conversion_p (type, TREE_TYPE (tmp))) { + gcc_unreachable (); gimple_assign_set_rhs_from_tree (gsi, tmp); fold_stmt (gsi); update_stmt (gsi_stmt (*gsi)); @@ -560,6 +561,7 @@ forward_propagate_into_gimple_cond (gcond *stmt) if (tmp && is_gimple_condexpr_for_cond (tmp)) { + gcc_unreachable (); if (dump_file) { fprintf (dump_file, " Replaced '"); ``` We get these failures: ``` FAIL: gcc.dg/tree-ssa/asmgoto-1.c (internal compiler error: in forward_propagate_into_gimple_cond, at tree-ssa-forwprop.cc:564) FAIL: gcc.dg/tree-ssa/asmgoto-1.c (test for excess errors) FAIL: gcc.dg/tree-ssa/log_exp.c (internal compiler error: in forward_propagate_into_gimple_cond, at tree-ssa-forwprop.cc:564) FAIL: gcc.dg/tree-ssa/log_exp.c (test for excess errors) FAIL: gcc.dg/tree-ssa/operand-equal-2.c (internal compiler error: in forward_propagate_into_comparison, at tree-ssa-forwprop.cc:526) FAIL: gcc.dg/tree-ssa/operand-equal-2.c (test for excess errors) FAIL: gcc.dg/tree-ssa/pr20139.c (internal compiler error: in forward_propagate_into_gimple_cond, at tree-ssa-forwprop.cc:564) FAIL: gcc.dg/tree-ssa/pr20139.c (test for excess errors) FAIL: gcc.dg/tree-ssa/pr81627.c scan-tree-dump-times pcom "Store-stores chain" 1 FAIL: gcc.dg/tree-ssa/ranger-threader-3.c (internal compiler error: in forward_propagate_into_comparison, at tree-ssa-forwprop.cc:526) FAIL: gcc.dg/tree-ssa/ranger-threader-3.c (test for excess errors) FAIL: gcc.dg/tree-ssa/split-path-3.c (internal compiler error: in forward_propagate_into_comparison, at tree-ssa-forwprop.cc:526) FAIL: gcc.dg/tree-ssa/split-path-3.c (test for excess errors) FAIL: gcc.dg/tree-ssa/ssa-dom-thread-14.c (internal compiler error: in forward_propagate_into_comparison, at tree-ssa-forwprop.cc:526) FAIL: gcc.dg/tree-ssa/ssa-dom-thread-14.c (test for excess errors) FAIL: gcc.dg/tree-ssa/ssa-sink-18.c (internal compiler error: in forward_propagate_into_gimple_cond, at tree-ssa-forwprop.cc:564) FAIL: gcc.dg/tree-ssa/ssa-sink-18.c (test for excess errors) FAIL: gcc.dg/tree-ssa/vrp12.c (internal compiler error: in forward_propagate_into_gimple_cond, at tree-ssa-forwprop.cc:564) FAIL: gcc.dg/tree-ssa/vrp12.c (test for excess errors) FAIL: gcc.dg/tree-ssa/vrp60.c (internal compiler error: in forward_propagate_into_gimple_cond, at tree-ssa-forwprop.cc:564) FAIL: gcc.dg/tree-ssa/vrp60.c (test for excess errors) FAIL: gcc.dg/tree-ssa/vrp89.c (internal compiler error: in forward_propagate_into_gimple_cond, at tree-ssa-forwprop.cc:564) FAIL: gcc.dg/tree-ssa/vrp89.c (test for excess errors) FAIL: gcc.dg/tree-ssa/vrp93.c (internal compiler error: in forward_propagate_into_gimple_cond, at tree-ssa-forwprop.cc:564) FAIL: gcc.dg/tree-ssa/vrp93.c (test for excess errors) ``` gcc.dg/tree-ssa/vrp12.c: `ABS<x> < 0` not being folded by gimple. I will have to look at each other one seperately maybe tomorrow.