From: Jan Hubicka Date: Tue, 6 Nov 2018 12:46:46 +0000 (+0100) Subject: ipa-pure-const.c (check_decl): Do not test TYPE_NEEDS_CONSTRUCTING. X-Git-Tag: basepoints/gcc-10~3285 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bd78c6d5b2c7e6e2c6e99032454bc6de8c39d238;p=thirdparty%2Fgcc.git ipa-pure-const.c (check_decl): Do not test TYPE_NEEDS_CONSTRUCTING. * ipa-pure-const.c (check_decl): Do not test TYPE_NEEDS_CONSTRUCTING. * lto-streamer-out.c (hash_tree): Do not hash TYPE_NEEDS_CONSTRUCTING. * tree-streamer-in.c (unpack_ts_type_common_value_fields): Do not stream TYPE_NEEDS_CONSTRUCTING. * tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise. * tree.c (free_lang_data_in_type): Clear TYPE_NEEDS_CONSTRUCTING. From-SVN: r265841 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a047c8d53703..abe98c35c5b6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2018-11-06 Jan Hubicka + + * ipa-pure-const.c (check_decl): Do not test TYPE_NEEDS_CONSTRUCTING. + * lto-streamer-out.c (hash_tree): Do not hash TYPE_NEEDS_CONSTRUCTING. + * tree-streamer-in.c (unpack_ts_type_common_value_fields): Do not + stream TYPE_NEEDS_CONSTRUCTING. + * tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise. + * tree.c (free_lang_data_in_type): Clear TYPE_NEEDS_CONSTRUCTING. + 2018-11-06 Richard Biener * tree-vect-slp.c (vect_slp_bb): Move opening of vect_slp_analyze_bb diff --git a/gcc/ipa-pure-const.c b/gcc/ipa-pure-const.c index 1ca1d60517ee..4418eefd3d19 100644 --- a/gcc/ipa-pure-const.c +++ b/gcc/ipa-pure-const.c @@ -339,7 +339,7 @@ check_decl (funct_state local, if (DECL_EXTERNAL (t) || TREE_PUBLIC (t)) { /* Readonly reads are safe. */ - if (TREE_READONLY (t) && !TYPE_NEEDS_CONSTRUCTING (TREE_TYPE (t))) + if (TREE_READONLY (t)) return; /* Read of a constant, do not change the function state. */ else { diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c index 21ac1a466596..e8f6a691301b 100644 --- a/gcc/lto-streamer-out.c +++ b/gcc/lto-streamer-out.c @@ -1147,7 +1147,6 @@ hash_tree (struct streamer_tree_cache_d *cache, hash_map *map, hstate.add_flag (TYPE_STRING_FLAG (t)); /* TYPE_NO_FORCE_BLK is private to stor-layout and need no streaming. */ - hstate.add_flag (TYPE_NEEDS_CONSTRUCTING (t)); hstate.add_flag (TYPE_PACKED (t)); hstate.add_flag (TYPE_RESTRICT (t)); hstate.add_flag (TYPE_USER_ALIGN (t)); diff --git a/gcc/tree-streamer-in.c b/gcc/tree-streamer-in.c index bd98ed0b128f..f1e824421f02 100644 --- a/gcc/tree-streamer-in.c +++ b/gcc/tree-streamer-in.c @@ -367,7 +367,6 @@ unpack_ts_type_common_value_fields (struct bitpack_d *bp, tree expr) TYPE_STRING_FLAG (expr) = (unsigned) bp_unpack_value (bp, 1); /* TYPE_NO_FORCE_BLK is private to stor-layout and need no streaming. */ - TYPE_NEEDS_CONSTRUCTING (expr) = (unsigned) bp_unpack_value (bp, 1); TYPE_PACKED (expr) = (unsigned) bp_unpack_value (bp, 1); TYPE_RESTRICT (expr) = (unsigned) bp_unpack_value (bp, 1); TYPE_USER_ALIGN (expr) = (unsigned) bp_unpack_value (bp, 1); diff --git a/gcc/tree-streamer-out.c b/gcc/tree-streamer-out.c index 7f97c40277aa..55abd3cc503c 100644 --- a/gcc/tree-streamer-out.c +++ b/gcc/tree-streamer-out.c @@ -314,7 +314,6 @@ pack_ts_type_common_value_fields (struct bitpack_d *bp, tree expr) bp_pack_value (bp, TYPE_STRING_FLAG (expr), 1); /* TYPE_NO_FORCE_BLK is private to stor-layout and need no streaming. */ - bp_pack_value (bp, TYPE_NEEDS_CONSTRUCTING (expr), 1); bp_pack_value (bp, TYPE_PACKED (expr), 1); bp_pack_value (bp, TYPE_RESTRICT (expr), 1); bp_pack_value (bp, TYPE_USER_ALIGN (expr), 1); diff --git a/gcc/tree.c b/gcc/tree.c index 564782490347..a6b187c07b4c 100644 --- a/gcc/tree.c +++ b/gcc/tree.c @@ -5259,6 +5259,8 @@ free_lang_data_in_type (tree type) TREE_LANG_FLAG_5 (type) = 0; TREE_LANG_FLAG_6 (type) = 0; + TYPE_NEEDS_CONSTRUCTING (type) = 0; + if (TREE_CODE (type) == FUNCTION_TYPE) { /* Remove the const and volatile qualifiers from arguments. The