Commit b2e894a8 by Richard Sandiford Committed by Richard Sandiford

poly_int: set_inc_state

This trivial patch makes auto-inc-dec.c:set_inc_state take a poly_int64.

2018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
	    Alan Hayward  <alan.hayward@arm.com>
	    David Sherwood  <david.sherwood@arm.com>

gcc/
	* auto-inc-dec.c (set_inc_state): Take the mode size as a poly_int64
	rather than an int.

Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
Co-Authored-By: David Sherwood <david.sherwood@arm.com>

From-SVN: r256153
parent f3ff4900
...@@ -2,6 +2,13 @@ ...@@ -2,6 +2,13 @@
Alan Hayward <alan.hayward@arm.com> Alan Hayward <alan.hayward@arm.com>
David Sherwood <david.sherwood@arm.com> David Sherwood <david.sherwood@arm.com>
* auto-inc-dec.c (set_inc_state): Take the mode size as a poly_int64
rather than an int.
2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
Alan Hayward <alan.hayward@arm.com>
David Sherwood <david.sherwood@arm.com>
* expr.c (expand_expr_real_1): Use tree_to_poly_uint64 * expr.c (expand_expr_real_1): Use tree_to_poly_uint64
instead of int_size_in_bytes when handling VIEW_CONVERT_EXPRs instead of int_size_in_bytes when handling VIEW_CONVERT_EXPRs
via stack temporaries. Treat the mode size as polynomial too. via stack temporaries. Treat the mode size as polynomial too.
...@@ -152,14 +152,14 @@ enum gen_form ...@@ -152,14 +152,14 @@ enum gen_form
static rtx mem_tmp; static rtx mem_tmp;
static enum inc_state static enum inc_state
set_inc_state (HOST_WIDE_INT val, int size) set_inc_state (HOST_WIDE_INT val, poly_int64 size)
{ {
if (val == 0) if (val == 0)
return INC_ZERO; return INC_ZERO;
if (val < 0) if (val < 0)
return (val == -size) ? INC_NEG_SIZE : INC_NEG_ANY; return known_eq (val, -size) ? INC_NEG_SIZE : INC_NEG_ANY;
else else
return (val == size) ? INC_POS_SIZE : INC_POS_ANY; return known_eq (val, size) ? INC_POS_SIZE : INC_POS_ANY;
} }
/* The DECISION_TABLE that describes what form, if any, the increment /* The DECISION_TABLE that describes what form, if any, the increment
......
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