diff options
author | Jan Hubicka <jh@suse.cz> | 2010-09-17 13:27:25 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2010-09-17 11:27:25 +0000 |
commit | 4c588abff3db7852724edf638a795b7a37f70f2b (patch) | |
tree | f8aa9d7575b411ab590d3f864fa218d6522ee77f | |
parent | 122603fae22d9e7eebada39d917cc42f990a04de (diff) | |
download | gcc-4c588abff3db7852724edf638a795b7a37f70f2b.tar.gz |
lto-cgraph.c (compute_ltrans_boundary): Use const_value_known.
* lto-cgraph.c (compute_ltrans_boundary): Use const_value_known.
* lto.c (lto_promote_cross_file_statics): Use const_value_known.
From-SVN: r164366
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/lto-cgraph.c | 2 | ||||
-rw-r--r-- | gcc/lto/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/lto/lto.c | 4 |
4 files changed, 11 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c70863ac88a..87577389a82 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2010-09-03 Jan Hubicka <jh@suse.cz> + + * lto-cgraph.c (compute_ltrans_boundary): Use const_value_known. + 2010-09-03 Naveen H.S <naveen.S@kpitcummins.com> * config/v850/v850.c (v850_function_value_regno_p): Make static. diff --git a/gcc/lto-cgraph.c b/gcc/lto-cgraph.c index 08607f6e4cc..c81e3f90ee5 100644 --- a/gcc/lto-cgraph.c +++ b/gcc/lto-cgraph.c @@ -814,7 +814,7 @@ compute_ltrans_boundary (struct lto_out_decl_state *state, && !lto_varpool_encoder_encode_initializer_p (varpool_encoder, vnode) && (DECL_IN_CONSTANT_POOL (vnode->decl) - || TREE_READONLY (vnode->decl))) + || vnode->const_value_known)) { lto_set_varpool_encoder_encode_initializer (varpool_encoder, vnode); add_references (encoder, varpool_encoder, &vnode->ref_list); diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog index 3b229bce8b8..9bcb0014459 100644 --- a/gcc/lto/ChangeLog +++ b/gcc/lto/ChangeLog @@ -1,3 +1,7 @@ +2010-09-17 Jan Hubicka <jh@suse.cz> + + * lto.c (lto_promote_cross_file_statics): Use const_value_known. + 2010-09-17 Richard Guenther <rguenther@suse.de> * lang.opt (flag_wpa): Also enable for the driver. diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c index 88a3b97d2b1..40816e51e8f 100644 --- a/gcc/lto/lto.c +++ b/gcc/lto/lto.c @@ -1008,7 +1008,7 @@ lto_promote_cross_file_statics (void) from this partition that are not in this partition. This needs to be done recursively. */ for (vnode = varpool_nodes; vnode; vnode = vnode->next) - if ((TREE_READONLY (vnode->decl) || DECL_IN_CONSTANT_POOL (vnode->decl)) + if ((vnode->const_value_known || DECL_IN_CONSTANT_POOL (vnode->decl)) && DECL_INITIAL (vnode->decl) && !varpool_node_in_set_p (vnode, vset) && referenced_from_this_partition_p (&vnode->ref_list, set, vset) @@ -1048,7 +1048,7 @@ lto_promote_cross_file_statics (void) && !v->externally_visible && v->analyzed) { if (promote_var (v) - && DECL_INITIAL (v->decl) && TREE_READONLY (v->decl) + && DECL_INITIAL (v->decl) && v->const_value_known && !pointer_set_insert (inserted, vnode)) VEC_safe_push (varpool_node_ptr, heap, promoted_initializers, v); |