2018-06-14 Richard Biener <rguenther@suse.de>
PR middle-end/86139
* tree-vect-generic.c (build_word_mode_vector_type): Remove
duplicate and harmful type_hash_canon.
* tree.c (type_hash_canon): Assert we didn't find ourselves.
From-SVN: r261588
+2018-06-14 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/86139
+ * tree-vect-generic.c (build_word_mode_vector_type): Remove
+ duplicate and harmful type_hash_canon.
+ * tree.c (type_hash_canon): Assert we didn't find ourselves.
+
2018-06-14 Richard Biener <rguenther@suse.de>
PR ipa/86124
return vector_last_type;
}
- /* We build a new type, but we canonicalize it nevertheless,
- because it still saves some memory. */
vector_last_nunits = nunits;
- vector_last_type = type_hash_canon (nunits,
- build_vector_type (vector_inner_type,
- nunits));
+ vector_last_type = build_vector_type (vector_inner_type, nunits);
return vector_last_type;
}
if (*loc)
{
tree t1 = ((type_hash *) *loc)->type;
- gcc_assert (TYPE_MAIN_VARIANT (t1) == t1);
+ gcc_assert (TYPE_MAIN_VARIANT (t1) == t1
+ && t1 != type);
if (TYPE_UID (type) + 1 == next_type_uid)
--next_type_uid;
/* Free also min/max values and the cache for integer