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:
parent
cf6a409750
commit
bedbdfcfb6
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
18
gcc/tree.c
18
gcc/tree.c
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue