summaryrefslogtreecommitdiff
path: root/gcc/reload1.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@linaro.org>2017-12-21 06:58:00 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2017-12-21 06:58:00 +0000
commit0cb78959893b418d0e81d62b22e450a09a7ef958 (patch)
tree229b864810d8ff93f56790e4272a2a34a5fa0039 /gcc/reload1.c
parentf37fac2b74df114c5b3e9c8a3be2cad9acd3f4ca (diff)
poly_int: reload.c
This patch makes a few small poly_int64 changes to reload.c, such as in the "decomposition" structure. In practice, any port with polynomial-sized modes should be using LRA rather than reload, but it's easier to convert reload anyway than to sprinkle to_constants everywhere. 2017-12-21 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * reload.h (reload::inc): Change from an int to a poly_int64_pod. * reload.c (combine_reloads, debug_reload_to_stream): Likewise. (decomposition): Change start and end from HOST_WIDE_INT to poly_int64_pod. (decompose, immune_p): Update accordingly. (find_inc_amount): Return a poly_int64 rather than an int. * reload1.c (inc_for_reload): Take the inc_amount 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: r255915
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r--gcc/reload1.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c
index f17edda9721..9557e3d154d 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -398,7 +398,7 @@ static void emit_reload_insns (struct insn_chain *);
static void delete_output_reload (rtx_insn *, int, int, rtx);
static void delete_address_reloads (rtx_insn *, rtx_insn *);
static void delete_address_reloads_1 (rtx_insn *, rtx, rtx_insn *);
-static void inc_for_reload (rtx, rtx, rtx, int);
+static void inc_for_reload (rtx, rtx, rtx, poly_int64);
static void add_auto_inc_notes (rtx_insn *, rtx);
static void substitute (rtx *, const_rtx, rtx);
static bool gen_reload_chain_without_interm_reg_p (int, int);
@@ -9075,7 +9075,7 @@ delete_address_reloads_1 (rtx_insn *dead_insn, rtx x, rtx_insn *current_insn)
This cannot be deduced from VALUE. */
static void
-inc_for_reload (rtx reloadreg, rtx in, rtx value, int inc_amount)
+inc_for_reload (rtx reloadreg, rtx in, rtx value, poly_int64 inc_amount)
{
/* REG or MEM to be copied and incremented. */
rtx incloc = find_replacement (&XEXP (value, 0));
@@ -9105,7 +9105,7 @@ inc_for_reload (rtx reloadreg, rtx in, rtx value, int inc_amount)
if (GET_CODE (value) == PRE_DEC || GET_CODE (value) == POST_DEC)
inc_amount = -inc_amount;
- inc = GEN_INT (inc_amount);
+ inc = gen_int_mode (inc_amount, Pmode);
}
/* If this is post-increment, first copy the location to the reload reg. */