Commit ef663105 by Richard Biener

middle-end/94465 - handle released SSA names in array_ref_low_bound

array_ref_low_bound is used in dumping ARRAY_REFs which in turn
is called when basic blocks are deleted.  cleanup_control_flow_pre
consciously decides to remove unreachable basic-blocks in arbitrary
order so the following makes array_ref_low_bound forgiving in the
case the SSA name with the index definition has been released
already.

2020-04-03  Richard Biener  <rguenther@suse.de>

	PR middle-end/94465
	* tree.c (array_ref_low_bound): Deal with released SSA names
	in index position.
parent fa4aab7f
2020-04-03 Richard Biener <rguenther@suse.de>
PR middle-end/94465
* tree.c (array_ref_low_bound): Deal with released SSA names
in index position.
2020-04-03 Kwok Cheung Yeung <kcy@codesourcery.com>
* config/gcn/gcn.c (print_operand): Handle unordered comparison
......
......@@ -13426,7 +13426,9 @@ array_ref_low_bound (tree exp)
return SUBSTITUTE_PLACEHOLDER_IN_EXPR (TYPE_MIN_VALUE (domain_type), exp);
/* Otherwise, return a zero of the appropriate type. */
return build_int_cst (TREE_TYPE (TREE_OPERAND (exp, 1)), 0);
tree idxtype = TREE_TYPE (TREE_OPERAND (exp, 1));
return (idxtype == error_mark_node
? integer_zero_node : build_int_cst (idxtype, 0));
}
/* Return a tree representing the upper bound of the array mentioned in
......
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