* ipa.c (ipa_discover_readonly_nonaddressable_var): Fix dumping;
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 21 May 2014 02:46:27 +0000 (02:46 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 21 May 2014 02:46:27 +0000 (02:46 +0000)
set writeonly flag only for vars actually written to.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210672 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/ipa.c

index 0b1900e..e1ffdca 100644 (file)
@@ -1,3 +1,8 @@
+2014-05-20  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa.c (ipa_discover_readonly_nonaddressable_var): Fix dumping;
+       set writeonly flag only for vars actually written to.
+
 2014-05-20  Dehao Chen  <dehao@google.com>
 
        * ipa-inline-transform.c (clone_inlined_nodes): Use min of edge count
index a4e9b22..d0beefe 100644 (file)
--- a/gcc/ipa.c
+++ b/gcc/ipa.c
@@ -737,7 +737,7 @@ ipa_discover_readonly_nonaddressable_vars (void)
        if (!address_taken)
          {
            if (TREE_ADDRESSABLE (vnode->decl) && dump_file)
-             fprintf (dump_file, " %s (addressable)", vnode->name ());
+             fprintf (dump_file, " %s (non-addressable)", vnode->name ());
            varpool_for_node_and_aliases (vnode, clear_addressable_bit, NULL, true);
          }
        if (!address_taken && !written
@@ -750,7 +750,7 @@ ipa_discover_readonly_nonaddressable_vars (void)
              fprintf (dump_file, " %s (read-only)", vnode->name ());
            varpool_for_node_and_aliases (vnode, set_readonly_bit, NULL, true);
          }
-       if (!vnode->writeonly && !read && !address_taken)
+       if (!vnode->writeonly && !read && !address_taken && written)
          {
            if (dump_file)
              fprintf (dump_file, " %s (write-only)", vnode->name ());