summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2010-09-10 15:40:05 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2010-09-10 15:40:05 +0000
commita062b6a0d3d88dcb67c7653e512a274ab3980a40 (patch)
treeefaf9c669cfb8da62589ecfaa1ee5183abefa6cc
parent48cee64c7b2ce60800b05450adf8fbb468670828 (diff)
downloadppe42-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/ChangeLog8
-rw-r--r--gcc/lto-streamer-in.c2
-rw-r--r--gcc/lto-streamer-out.c2
-rw-r--r--gcc/tree.c18
-rw-r--r--gcc/tree.h6
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)
OpenPOWER on IntegriCloud