------- Comment #8 from rguenth at gcc dot gnu dot org 2006-04-26 16:09 ------- Now the patch for 25148 fixes the wrong answer for the testcase in comment #2 if the patch in comment #5 is applied. It needs
Index: tree-ssa-propagate.c =================================================================== *** tree-ssa-propagate.c (revision 113273) --- tree-ssa-propagate.c (working copy) *************** substitute_and_fold (prop_value_t *prop_ *** 1127,1133 **** if (use_ranges_p) did_replace = fold_predicate_in (stmt); ! if (prop_value) { /* Only replace real uses if we couldn't fold the statement using value range information (value range --- 1127,1134 ---- if (use_ranges_p) did_replace = fold_predicate_in (stmt); ! if (prop_value ! && is_gimple_val (prop_value)) { /* Only replace real uses if we couldn't fold the statement using value range information (value range though to not ICE for -fwrapv. Also the patches don't handle the testcase in comment #1. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rguenth at gcc dot gnu dot | |org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25145