summaryrefslogtreecommitdiff
path: root/gcc/lto-streamer-out.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2014-02-14 12:03:43 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2014-02-14 12:03:43 +0000
commitf4c352567f7773eb5f96a20e603d0b46a492abbc (patch)
tree454195ec49d533fd5e1c98718baec5b7168b1341 /gcc/lto-streamer-out.c
parent0b308eeee7200246d04b40353d4ab5c55b8ec486 (diff)
downloadgcc-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/lto-streamer-out.c')
-rw-r--r--gcc/lto-streamer-out.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c
index 94d2aa73ddd..0f37f1c2422 100644
--- a/gcc/lto-streamer-out.c
+++ b/gcc/lto-streamer-out.c
@@ -550,7 +550,7 @@ DFS_write_tree_body (struct output_block *ob,
if (CODE_CONTAINS_STRUCT (code, TS_FUNCTION_DECL))
{
DFS_follow_tree_edge (DECL_FUNCTION_PERSONALITY (expr));
- DFS_follow_tree_edge (DECL_FUNCTION_SPECIFIC_TARGET (expr));
+ /* Do not DECL_FUNCTION_SPECIFIC_TARGET. They will be regenerated. */
DFS_follow_tree_edge (DECL_FUNCTION_SPECIFIC_OPTIMIZATION (expr));
}
@@ -885,7 +885,7 @@ hash_tree (struct streamer_tree_cache_d *cache, tree t)
strlen (TRANSLATION_UNIT_LANGUAGE (t)), v);
if (CODE_CONTAINS_STRUCT (code, TS_TARGET_OPTION))
- v = iterative_hash (t, sizeof (struct cl_target_option), v);
+ gcc_unreachable ();
if (CODE_CONTAINS_STRUCT (code, TS_OPTIMIZATION))
v = iterative_hash (t, sizeof (struct cl_optimization), v);
@@ -986,7 +986,7 @@ hash_tree (struct streamer_tree_cache_d *cache, tree t)
if (CODE_CONTAINS_STRUCT (code, TS_FUNCTION_DECL))
{
visit (DECL_FUNCTION_PERSONALITY (t));
- visit (DECL_FUNCTION_SPECIFIC_TARGET (t));
+ /* Do not follow DECL_FUNCTION_SPECIFIC_TARGET. */
visit (DECL_FUNCTION_SPECIFIC_OPTIMIZATION (t));
}