Commit 91eace2b by Eric Botcazou Committed by Eric Botcazou

lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for record or…

lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for record or union type with RECORD_OR_UNION_TYPE_P predicate.

	* lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for
	record or union type with RECORD_OR_UNION_TYPE_P predicate.
	(lto_input_ts_type_tree_pointers): Likewise.
	* lto-streamer-out.c (pack_ts_type_value_fields): Likewise.
	(lto_output_ts_type_tree_pointers): Likewise.

From-SVN: r158841
parent ab6edba4
2010-04-28 Eric Botcazou <ebotcazou@adacore.com> 2010-04-28 Eric Botcazou <ebotcazou@adacore.com>
* lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for
record or union type with RECORD_OR_UNION_TYPE_P predicate.
(lto_input_ts_type_tree_pointers): Likewise.
* lto-streamer-out.c (pack_ts_type_value_fields): Likewise.
(lto_output_ts_type_tree_pointers): Likewise.
2010-04-28 Eric Botcazou <ebotcazou@adacore.com>
Uniquization of constants at the Tree level Uniquization of constants at the Tree level
* tree.h (DECL_IN_CONSTANT_POOL): New macro. * tree.h (DECL_IN_CONSTANT_POOL): New macro.
(tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p (tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p
......
...@@ -1774,8 +1774,8 @@ unpack_ts_type_value_fields (struct bitpack_d *bp, tree expr) ...@@ -1774,8 +1774,8 @@ unpack_ts_type_value_fields (struct bitpack_d *bp, tree expr)
SET_TYPE_MODE (expr, mode); SET_TYPE_MODE (expr, mode);
TYPE_STRING_FLAG (expr) = (unsigned) bp_unpack_value (bp, 1); TYPE_STRING_FLAG (expr) = (unsigned) bp_unpack_value (bp, 1);
TYPE_NO_FORCE_BLK (expr) = (unsigned) bp_unpack_value (bp, 1); TYPE_NO_FORCE_BLK (expr) = (unsigned) bp_unpack_value (bp, 1);
TYPE_NEEDS_CONSTRUCTING(expr) = (unsigned) bp_unpack_value (bp, 1); TYPE_NEEDS_CONSTRUCTING (expr) = (unsigned) bp_unpack_value (bp, 1);
if (TREE_CODE (expr) == UNION_TYPE || TREE_CODE (expr) == RECORD_TYPE) if (RECORD_OR_UNION_TYPE_P (expr))
TYPE_TRANSPARENT_AGGR (expr) = (unsigned) bp_unpack_value (bp, 1); TYPE_TRANSPARENT_AGGR (expr) = (unsigned) bp_unpack_value (bp, 1);
TYPE_PACKED (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_RESTRICT (expr) = (unsigned) bp_unpack_value (bp, 1);
...@@ -2167,9 +2167,10 @@ lto_input_ts_type_tree_pointers (struct lto_input_block *ib, ...@@ -2167,9 +2167,10 @@ lto_input_ts_type_tree_pointers (struct lto_input_block *ib,
TYPE_VALUES (expr) = lto_input_tree (ib, data_in); TYPE_VALUES (expr) = lto_input_tree (ib, data_in);
else if (TREE_CODE (expr) == ARRAY_TYPE) else if (TREE_CODE (expr) == ARRAY_TYPE)
TYPE_DOMAIN (expr) = lto_input_tree (ib, data_in); TYPE_DOMAIN (expr) = lto_input_tree (ib, data_in);
else if (TREE_CODE (expr) == RECORD_TYPE || TREE_CODE (expr) == UNION_TYPE) else if (RECORD_OR_UNION_TYPE_P (expr))
TYPE_FIELDS (expr) = lto_input_tree (ib, data_in); TYPE_FIELDS (expr) = lto_input_tree (ib, data_in);
else if (TREE_CODE (expr) == FUNCTION_TYPE || TREE_CODE (expr) == METHOD_TYPE) else if (TREE_CODE (expr) == FUNCTION_TYPE
|| TREE_CODE (expr) == METHOD_TYPE)
TYPE_ARG_TYPES (expr) = lto_input_tree (ib, data_in); TYPE_ARG_TYPES (expr) = lto_input_tree (ib, data_in);
else if (TREE_CODE (expr) == VECTOR_TYPE) else if (TREE_CODE (expr) == VECTOR_TYPE)
TYPE_DEBUG_REPRESENTATION_TYPE (expr) = lto_input_tree (ib, data_in); TYPE_DEBUG_REPRESENTATION_TYPE (expr) = lto_input_tree (ib, data_in);
......
...@@ -518,8 +518,8 @@ pack_ts_type_value_fields (struct bitpack_d *bp, tree expr) ...@@ -518,8 +518,8 @@ pack_ts_type_value_fields (struct bitpack_d *bp, tree expr)
bp_pack_value (bp, TYPE_MODE (expr), 7); bp_pack_value (bp, TYPE_MODE (expr), 7);
bp_pack_value (bp, TYPE_STRING_FLAG (expr), 1); bp_pack_value (bp, TYPE_STRING_FLAG (expr), 1);
bp_pack_value (bp, TYPE_NO_FORCE_BLK (expr), 1); bp_pack_value (bp, TYPE_NO_FORCE_BLK (expr), 1);
bp_pack_value (bp, TYPE_NEEDS_CONSTRUCTING(expr), 1); bp_pack_value (bp, TYPE_NEEDS_CONSTRUCTING (expr), 1);
if (TREE_CODE (expr) == UNION_TYPE || TREE_CODE (expr) == RECORD_TYPE) if (RECORD_OR_UNION_TYPE_P (expr))
bp_pack_value (bp, TYPE_TRANSPARENT_AGGR (expr), 1); bp_pack_value (bp, TYPE_TRANSPARENT_AGGR (expr), 1);
bp_pack_value (bp, TYPE_PACKED (expr), 1); bp_pack_value (bp, TYPE_PACKED (expr), 1);
bp_pack_value (bp, TYPE_RESTRICT (expr), 1); bp_pack_value (bp, TYPE_RESTRICT (expr), 1);
...@@ -947,9 +947,10 @@ lto_output_ts_type_tree_pointers (struct output_block *ob, tree expr, ...@@ -947,9 +947,10 @@ lto_output_ts_type_tree_pointers (struct output_block *ob, tree expr,
lto_output_tree_or_ref (ob, TYPE_VALUES (expr), ref_p); lto_output_tree_or_ref (ob, TYPE_VALUES (expr), ref_p);
else if (TREE_CODE (expr) == ARRAY_TYPE) else if (TREE_CODE (expr) == ARRAY_TYPE)
lto_output_tree_or_ref (ob, TYPE_DOMAIN (expr), ref_p); lto_output_tree_or_ref (ob, TYPE_DOMAIN (expr), ref_p);
else if (TREE_CODE (expr) == RECORD_TYPE || TREE_CODE (expr) == UNION_TYPE) else if (RECORD_OR_UNION_TYPE_P (expr))
lto_output_tree_or_ref (ob, TYPE_FIELDS (expr), ref_p); lto_output_tree_or_ref (ob, TYPE_FIELDS (expr), ref_p);
else if (TREE_CODE (expr) == FUNCTION_TYPE || TREE_CODE (expr) == METHOD_TYPE) else if (TREE_CODE (expr) == FUNCTION_TYPE
|| TREE_CODE (expr) == METHOD_TYPE)
lto_output_tree_or_ref (ob, TYPE_ARG_TYPES (expr), ref_p); lto_output_tree_or_ref (ob, TYPE_ARG_TYPES (expr), ref_p);
else if (TREE_CODE (expr) == VECTOR_TYPE) else if (TREE_CODE (expr) == VECTOR_TYPE)
lto_output_tree_or_ref (ob, TYPE_DEBUG_REPRESENTATION_TYPE (expr), ref_p); lto_output_tree_or_ref (ob, TYPE_DEBUG_REPRESENTATION_TYPE (expr), ref_p);
...@@ -966,7 +967,7 @@ lto_output_ts_type_tree_pointers (struct output_block *ob, tree expr, ...@@ -966,7 +967,7 @@ lto_output_ts_type_tree_pointers (struct output_block *ob, tree expr,
lto_output_tree_or_ref (ob, TYPE_MAIN_VARIANT (expr), ref_p); lto_output_tree_or_ref (ob, TYPE_MAIN_VARIANT (expr), ref_p);
/* Do not stream TYPE_NEXT_VARIANT, we reconstruct the variant lists /* Do not stream TYPE_NEXT_VARIANT, we reconstruct the variant lists
during fixup. */ during fixup. */
if (TREE_CODE (expr) == RECORD_TYPE || TREE_CODE (expr) == UNION_TYPE) if (RECORD_OR_UNION_TYPE_P (expr))
lto_output_tree_or_ref (ob, TYPE_BINFO (expr), ref_p); lto_output_tree_or_ref (ob, TYPE_BINFO (expr), ref_p);
lto_output_tree_or_ref (ob, TYPE_CONTEXT (expr), ref_p); lto_output_tree_or_ref (ob, TYPE_CONTEXT (expr), ref_p);
lto_output_tree_or_ref (ob, TYPE_CANONICAL (expr), ref_p); lto_output_tree_or_ref (ob, TYPE_CANONICAL (expr), ref_p);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment