aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2018-11-06 13:46:46 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2018-11-06 12:46:46 +0000
commitbd78c6d5b2c7e6e2c6e99032454bc6de8c39d238 (patch)
treeca048f7076f2a072ec7dc663415531cd7c17755d
parentbfb9d79805753fd6cc69bb114b5c6597269f3e21 (diff)
downloadgcc-bd78c6d5b2c7e6e2c6e99032454bc6de8c39d238.zip
gcc-bd78c6d5b2c7e6e2c6e99032454bc6de8c39d238.tar.gz
gcc-bd78c6d5b2c7e6e2c6e99032454bc6de8c39d238.tar.bz2
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
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/ipa-pure-const.c2
-rw-r--r--gcc/lto-streamer-out.c1
-rw-r--r--gcc/tree-streamer-in.c1
-rw-r--r--gcc/tree-streamer-out.c1
-rw-r--r--gcc/tree.c2
6 files changed, 12 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a047c8d..abe98c3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+2018-11-06 Jan Hubicka <jh@suse.cz>
+
+ * 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 <rguenther@suse.de>
* 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 1ca1d60..4418eef 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 21ac1a4..e8f6a69 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<tree, hashval_t> *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 bd98ed0..f1e8244 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 7f97c40..55abd3c 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 5647824..a6b187c 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