Commit ef20d221 by Richard Sandiford Committed by Richard Sandiford

Two more POLY_INT cases for dwarf2out.c

loc_list_for_tree_1 and add_const_value_attribute currently ICE
on POLY_INTs.  loc_list_for_tree_1 can do something sensible but
add_const_value_attribute has to punt, since the constant there
needs to be a link-time rather than load-time or run-time constant.

This is tested by later SVE patches.

2019-09-18  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
	* dwarf2out.c (loc_list_from_tree_1): Handle POLY_INT_CST.
	(add_const_value_attribute): Handle CONST_POLY_INT.

From-SVN: r275868
parent a95b474a
2019-09-18 Richard Sandiford <richard.sandiford@arm.com>
* dwarf2out.c (loc_list_from_tree_1): Handle POLY_INT_CST.
(add_const_value_attribute): Handle CONST_POLY_INT.
2019-09-18 Martin Liska <mliska@suse.cz>
* dbgcnt.def (store_merging): New counter.
......
......@@ -18568,6 +18568,24 @@ loc_list_from_tree_1 (tree loc, int want_address,
}
break;
case POLY_INT_CST:
{
if (want_address)
{
expansion_failed (loc, NULL_RTX,
"constant address with a runtime component");
return 0;
}
poly_int64 value;
if (!poly_int_tree_p (loc, &value))
{
expansion_failed (loc, NULL_RTX, "constant too big");
return 0;
}
ret = int_loc_descriptor (value);
}
break;
case CONSTRUCTOR:
case REAL_CST:
case STRING_CST:
......@@ -19684,6 +19702,7 @@ add_const_value_attribute (dw_die_ref die, rtx rtl)
case MINUS:
case SIGN_EXTEND:
case ZERO_EXTEND:
case CONST_POLY_INT:
return false;
case MEM:
......
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