https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103211

--- Comment #5 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
There is wrong change in my patch (I mixed up this_looping variable for
looping)
diff --git a/gcc/ipa-pure-const.c b/gcc/ipa-pure-const.c
index b831844afa6..5056850c0a8 100644
--- a/gcc/ipa-pure-const.c
+++ b/gcc/ipa-pure-const.c
@@ -1611,9 +1611,6 @@ propagate_pure_const (void)
              enum pure_const_state_e edge_state = IPA_CONST;
              bool edge_looping = false;

-             if (e->recursive_p ())
-               looping = true;
-
              if (e->recursive_p ())
                looping = true;

@@ -1800,11 +1797,11 @@ propagate_pure_const (void)
            switch (this_state)
              {
              case IPA_CONST:
-               remove_p |= ipa_make_function_const (node, looping, false);
+               remove_p |= ipa_make_function_const (node, this_looping,
false);
                break;

              case IPA_PURE:
-               remove_p |= ipa_make_function_pure (node, looping, false);
+               remove_p |= ipa_make_function_pure (node, this_looping, false);
                break;

              default:

Reply via email to