tree.c (make_vector_type): Do not set TYPE_DEBUG_REPRESENTATION_TYPE.

2010-09-10  Richard Guenther  <rguenther@suse.de>

	* tree.c (make_vector_type): Do not set TYPE_DEBUG_REPRESENTATION_TYPE.
	* tree.h (TYPE_DEBUG_REPRESENTATION_TYPE): Remove.
	* lto-streamer-out.c (lto_output_ts_type_tree_pointers): Do
	not stream TYPE_DEBUG_REPRESENTATION_TYPE.
	* lto-streamer-in.c (lto_input_ts_type_tree_pointers): Likewise.

From-SVN: r164193
This commit is contained in:
Richard Guenther 2010-09-10 15:40:05 +00:00 committed by Richard Biener
parent cf6a409750
commit bedbdfcfb6
5 changed files with 8 additions and 28 deletions

View File

@ -1,3 +1,11 @@
2010-09-10 Richard Guenther <rguenther@suse.de>
* tree.c (make_vector_type): Do not set TYPE_DEBUG_REPRESENTATION_TYPE.
* tree.h (TYPE_DEBUG_REPRESENTATION_TYPE): Remove.
* lto-streamer-out.c (lto_output_ts_type_tree_pointers): Do
not stream TYPE_DEBUG_REPRESENTATION_TYPE.
* lto-streamer-in.c (lto_input_ts_type_tree_pointers): Likewise.
2010-09-10 Richard Guenther <rguenther@suse.de>
* dwarf2out.c (gen_array_type_die): Output DW_TAG_subrange_type

View File

@ -2037,8 +2037,6 @@ lto_input_ts_type_tree_pointers (struct lto_input_block *ib,
else if (TREE_CODE (expr) == FUNCTION_TYPE
|| TREE_CODE (expr) == METHOD_TYPE)
TYPE_ARG_TYPES (expr) = lto_input_tree (ib, data_in);
else if (TREE_CODE (expr) == VECTOR_TYPE)
TYPE_DEBUG_REPRESENTATION_TYPE (expr) = lto_input_tree (ib, data_in);
TYPE_SIZE (expr) = lto_input_tree (ib, data_in);
TYPE_SIZE_UNIT (expr) = lto_input_tree (ib, data_in);

View File

@ -959,8 +959,6 @@ lto_output_ts_type_tree_pointers (struct output_block *ob, tree expr,
else if (TREE_CODE (expr) == FUNCTION_TYPE
|| TREE_CODE (expr) == METHOD_TYPE)
lto_output_tree_or_ref (ob, TYPE_ARG_TYPES (expr), ref_p);
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_SIZE (expr), ref_p);
lto_output_tree_or_ref (ob, TYPE_SIZE_UNIT (expr), ref_p);

View File

@ -8792,24 +8792,6 @@ make_vector_type (tree innertype, int nunits, enum machine_mode mode)
layout_type (t);
{
tree index = build_int_cst (NULL_TREE, nunits - 1);
tree array = build_array_type (TYPE_MAIN_VARIANT (innertype),
build_index_type (index));
tree rt = make_node (RECORD_TYPE);
TYPE_FIELDS (rt) = build_decl (UNKNOWN_LOCATION, FIELD_DECL,
get_identifier ("f"), array);
DECL_CONTEXT (TYPE_FIELDS (rt)) = rt;
layout_type (rt);
TYPE_DEBUG_REPRESENTATION_TYPE (t) = rt;
/* In dwarfout.c, type lookup uses TYPE_UID numbers. We want to output
the representation type, and we want to find that die when looking up
the vector type. This is most easily achieved by making the TYPE_UID
numbers equal. */
TYPE_UID (rt) = TYPE_UID (t);
}
hashcode = iterative_hash_host_wide_int (VECTOR_TYPE, hashcode);
hashcode = iterative_hash_host_wide_int (nunits, hashcode);
hashcode = iterative_hash_host_wide_int (mode, hashcode);

View File

@ -2118,12 +2118,6 @@ extern enum machine_mode vector_type_mode (const_tree);
#define TYPE_IBIT(NODE) (GET_MODE_IBIT (TYPE_MODE (NODE)))
#define TYPE_FBIT(NODE) (GET_MODE_FBIT (TYPE_MODE (NODE)))
/* For a VECTOR_TYPE node, this describes a different type which is emitted
in the debugging output. We use this to describe a vector as a
structure containing an array. */
#define TYPE_DEBUG_REPRESENTATION_TYPE(NODE) \
(VECTOR_TYPE_CHECK (NODE)->type.values)
/* For record and union types, information about this type, as a base type
for itself. */
#define TYPE_BINFO(NODE) (RECORD_OR_UNION_CHECK(NODE)->type.binfo)