diff options
author | Richard Guenther <rguenther@suse.de> | 2009-12-04 14:44:24 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2009-12-04 14:44:24 +0000 |
commit | 246551974690175d93ce481e65ce2a26bdb37958 (patch) | |
tree | 07b2476137ab183614c61f46dc4951b804999431 | |
parent | c8b3e92f208415d758fcd6cf28ebe1b8202a36b9 (diff) | |
download | gcc-246551974690175d93ce481e65ce2a26bdb37958.zip gcc-246551974690175d93ce481e65ce2a26bdb37958.tar.gz gcc-246551974690175d93ce481e65ce2a26bdb37958.tar.bz2 |
lto-streamer-out.c (pack_ts_decl_common_value_fields): Revert previous change.
2009-12-04 Richard Guenther <rguenther@suse.de>
* lto-streamer-out.c (pack_ts_decl_common_value_fields):
Revert previous change.
(lto_output_ts_decl_common_tree_pointers): Stream DECL_VALUE_EXPR.
* lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
Likewise.
From-SVN: r154980
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/lto-streamer-in.c | 5 | ||||
-rw-r--r-- | gcc/lto-streamer-out.c | 9 |
3 files changed, 19 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6319ca9..450d54d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,13 @@ 2009-12-04 Richard Guenther <rguenther@suse.de> + * lto-streamer-out.c (pack_ts_decl_common_value_fields): + Revert previous change. + (lto_output_ts_decl_common_tree_pointers): Stream DECL_VALUE_EXPR. + * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers): + Likewise. + +2009-12-04 Richard Guenther <rguenther@suse.de> + * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle BUILT_IN_MALLOC. (call_may_clobber_ref_p_1): Likewise. diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c index 16ae9b8..a0ead410 100644 --- a/gcc/lto-streamer-in.c +++ b/gcc/lto-streamer-in.c @@ -2044,6 +2044,11 @@ lto_input_ts_decl_common_tree_pointers (struct lto_input_block *ib, if (TREE_CODE (expr) == PARM_DECL) TREE_CHAIN (expr) = lto_input_chain (ib, data_in); + + if ((TREE_CODE (expr) == VAR_DECL + || TREE_CODE (expr) == PARM_DECL) + && DECL_HAS_VALUE_EXPR_P (expr)) + SET_DECL_VALUE_EXPR (expr, lto_input_tree (ib, data_in)); } diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c index 30d35c7..49877ff 100644 --- a/gcc/lto-streamer-out.c +++ b/gcc/lto-streamer-out.c @@ -430,11 +430,9 @@ pack_ts_decl_common_value_fields (struct bitpack_d *bp, tree expr) || TREE_CODE (expr) == VAR_DECL) { bp_pack_value (bp, DECL_BY_REFERENCE (expr), 1); - /* DECL_HAS_VALUE_EXPR_P: Do not falsely pretend we have value - expressions, we do not stream those at the moment. */ if (TREE_CODE (expr) == VAR_DECL || TREE_CODE (expr) == PARM_DECL) - bp_pack_value (bp, false, 1); + bp_pack_value (bp, DECL_HAS_VALUE_EXPR_P (expr), 1); bp_pack_value (bp, DECL_RESTRICTED_P (expr), 1); } } @@ -850,6 +848,11 @@ lto_output_ts_decl_common_tree_pointers (struct output_block *ob, tree expr, if (TREE_CODE (expr) == PARM_DECL) lto_output_chain (ob, TREE_CHAIN (expr), ref_p); + + if ((TREE_CODE (expr) == VAR_DECL + || TREE_CODE (expr) == PARM_DECL) + && DECL_HAS_VALUE_EXPR_P (expr)) + lto_output_tree_or_ref (ob, DECL_VALUE_EXPR (expr), ref_p); } |