diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-09-10 15:40:05 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-09-10 15:40:05 +0000 |
commit | a062b6a0d3d88dcb67c7653e512a274ab3980a40 (patch) | |
tree | efaf9c669cfb8da62589ecfaa1ee5183abefa6cc | |
parent | 48cee64c7b2ce60800b05450adf8fbb468670828 (diff) | |
download | ppe42-gcc-a062b6a0d3d88dcb67c7653e512a274ab3980a40.tar.gz ppe42-gcc-a062b6a0d3d88dcb67c7653e512a274ab3980a40.zip |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164193 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/lto-streamer-in.c | 2 | ||||
-rw-r--r-- | gcc/lto-streamer-out.c | 2 | ||||
-rw-r--r-- | gcc/tree.c | 18 | ||||
-rw-r--r-- | gcc/tree.h | 6 |
5 files changed, 8 insertions, 28 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 05fd8256872..4d1e7b66ffc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,13 @@ 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 for VECTOR_TYPEs using TYPE_VECTOR_SUBPARTS. * dbxout.c (dbxout_type): Manually deal with VECTOR_TYPE diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c index 60d299ca943..fec9833fa8b 100644 --- a/gcc/lto-streamer-in.c +++ b/gcc/lto-streamer-in.c @@ -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); diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c index 90e3ccccb46..d7925268622 100644 --- a/gcc/lto-streamer-out.c +++ b/gcc/lto-streamer-out.c @@ -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); diff --git a/gcc/tree.c b/gcc/tree.c index b0f733f0ccb..c20d3b6c5ce 100644 --- a/gcc/tree.c +++ b/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); diff --git a/gcc/tree.h b/gcc/tree.h index 4fc6725e653..a75a852561c 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -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) |