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

--- Comment #4 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Aha, is_global_var test going wrong way. I am testing:
Index: ipa-prop.c
===================================================================
--- ipa-prop.c  (revision 215023)
+++ ipa-prop.c  (working copy)
@@ -1537,8 +1537,8 @@ compute_known_type_jump_func (tree op, s
                                    call, current_function_decl)
       /* Even if the var seems to be in construction by inline call stack,
         we may work out the actual type by walking memory writes.  */
-      && (!is_global_var (base)
-         && detect_type_change (op, base, expected_type, call, jfunc,
offset)))
+      && (is_global_var (base)
+         || detect_type_change (op, base, expected_type, call, jfunc,
offset)))
     return;

   ipa_set_jf_known_type (jfunc, offset, TREE_TYPE (base),

Reply via email to