Commit bb4291d9 by Richard Biener Committed by Richard Biener

re PR target/86139 (ICE in in store_constructor, at expr.c:6849 on arm-linux-gnueabihf)

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
parent a16fa075
2018-06-14 Richard Biener <rguenther@suse.de> 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 PR ipa/86124
* tree-ssa-struct-alias.c (create_variable_info_for): Handle * tree-ssa-struct-alias.c (create_variable_info_for): Handle
NULL cgraph_node. NULL cgraph_node.
......
...@@ -111,12 +111,8 @@ build_word_mode_vector_type (int nunits) ...@@ -111,12 +111,8 @@ build_word_mode_vector_type (int nunits)
return vector_last_type; 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_nunits = nunits;
vector_last_type = type_hash_canon (nunits, vector_last_type = build_vector_type (vector_inner_type, nunits);
build_vector_type (vector_inner_type,
nunits));
return vector_last_type; return vector_last_type;
} }
......
...@@ -6623,7 +6623,8 @@ type_hash_canon (unsigned int hashcode, tree type) ...@@ -6623,7 +6623,8 @@ type_hash_canon (unsigned int hashcode, tree type)
if (*loc) if (*loc)
{ {
tree t1 = ((type_hash *) *loc)->type; 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) if (TYPE_UID (type) + 1 == next_type_uid)
--next_type_uid; --next_type_uid;
/* Free also min/max values and the cache for integer /* Free also min/max values and the cache for integer
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment