diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-02-14 12:03:43 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-02-14 12:03:43 +0000 |
commit | f4c352567f7773eb5f96a20e603d0b46a492abbc (patch) | |
tree | 454195ec49d533fd5e1c98718baec5b7168b1341 /gcc/tree-streamer-out.c | |
parent | 0b308eeee7200246d04b40353d4ab5c55b8ec486 (diff) | |
download | gcc-f4c352567f7773eb5f96a20e603d0b46a492abbc.tar.gz |
2014-02-14 Richard Biener <rguenther@suse.de>
PR lto/60179
* lto-streamer-out.c (DFS_write_tree_body): Do not follow
DECL_FUNCTION_SPECIFIC_TARGET.
(hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET.
* tree-streamer-out.c (pack_ts_target_option): Remove.
(streamer_pack_tree_bitfields): Do not stream
TS_TARGET_OPTION.
(write_ts_function_decl_tree_pointers): Do not stream
DECL_FUNCTION_SPECIFIC_TARGET.
* tree-streamer-in.c (unpack_ts_target_option): Remove.
(unpack_value_fields): Do not stream TS_TARGET_OPTION.
(lto_input_ts_function_decl_tree_pointers): Do not stream
DECL_FUNCTION_SPECIFIC_TARGET.
lto/
* lto.c (compare_tree_sccs_1): Do not compare
DECL_FUNCTION_SPECIFIC_TARGET.
(lto_read_decls): Re-build DECL_FUNCTION_SPECIFIC_TARGET.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207783 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-streamer-out.c')
-rw-r--r-- | gcc/tree-streamer-out.c | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/gcc/tree-streamer-out.c b/gcc/tree-streamer-out.c index a4d943bd3f4..646fba52688 100644 --- a/gcc/tree-streamer-out.c +++ b/gcc/tree-streamer-out.c @@ -353,24 +353,6 @@ pack_ts_translation_unit_decl_value_fields (struct output_block *ob, bp_pack_string (ob, bp, TRANSLATION_UNIT_LANGUAGE (expr), true); } -/* Pack a TS_TARGET_OPTION tree in EXPR to BP. */ - -static void -pack_ts_target_option (struct bitpack_d *bp, tree expr) -{ - struct cl_target_option *t = TREE_TARGET_OPTION (expr); - unsigned i, len; - - /* The cl_target_option is target specific and generated by the options - awk script, so we just recreate a byte-by-byte copy here. */ - - len = sizeof (struct cl_target_option); - for (i = 0; i < len; i++) - bp_pack_value (bp, ((unsigned char *)t)[i], 8); - /* Catch struct size mismatches between reader and writer. */ - bp_pack_value (bp, 0x12345678, 32); -} - /* Pack a TS_OPTIMIZATION tree in EXPR to BP. */ static void @@ -481,7 +463,7 @@ streamer_pack_tree_bitfields (struct output_block *ob, pack_ts_translation_unit_decl_value_fields (ob, bp, expr); if (CODE_CONTAINS_STRUCT (code, TS_TARGET_OPTION)) - pack_ts_target_option (bp, expr); + gcc_unreachable (); if (CODE_CONTAINS_STRUCT (code, TS_OPTIMIZATION)) pack_ts_optimization (bp, expr); @@ -716,7 +698,7 @@ write_ts_function_decl_tree_pointers (struct output_block *ob, tree expr, /* DECL_STRUCT_FUNCTION is handled by lto_output_function. FIXME lto, maybe it should be handled here? */ stream_write_tree (ob, DECL_FUNCTION_PERSONALITY (expr), ref_p); - stream_write_tree (ob, DECL_FUNCTION_SPECIFIC_TARGET (expr), ref_p); + /* DECL_FUNCTION_SPECIFIC_TARGET is regenerated. */ stream_write_tree (ob, DECL_FUNCTION_SPECIFIC_OPTIMIZATION (expr), ref_p); } |