===================================================================
@@ -728,6 +728,7 @@ backprop::prepare_change (tree var)
{
if (MAY_HAVE_DEBUG_STMTS)
insert_debug_temp_for_var_def (NULL, var);
+ reset_flow_sensitive_info (var);
}
/* STMT has been changed. Give the fold machinery a chance to simplify
===================================================================
@@ -0,0 +1,23 @@
+/* { dg-do run } */
+
+typedef unsigned short u16;
+
+static u16 a;
+
+u16 __attribute__ ((noinline, noclone))
+foo (int p1)
+{
+ a = -(p1 > 0);
+ a *= 0 != a;
+ a *= (unsigned)a;
+ return a;
+}
+
+int
+main ()
+{
+ u16 x = foo (1);
+ if (x != 1)
+ __builtin_abort();
+ return 0;
+}