This patch changes the LRA emit_inc routine so that it takes
a poly_int64 rather than an int.


2017-10-23  Richard Sandiford  <richard.sandif...@linaro.org>
            Alan Hayward  <alan.hayw...@arm.com>
            David Sherwood  <david.sherw...@arm.com>

gcc/
        * lra-constraints.c (emit_inc): Change inc_amount from an int
        to a poly_int64.

Index: gcc/lra-constraints.c
===================================================================
--- gcc/lra-constraints.c       2017-10-23 17:19:21.001863152 +0100
+++ gcc/lra-constraints.c       2017-10-23 17:20:47.003797985 +0100
@@ -3533,7 +3533,7 @@ process_address (int nop, bool check_onl
 
    Return pseudo containing the result.         */
 static rtx
-emit_inc (enum reg_class new_rclass, rtx in, rtx value, int inc_amount)
+emit_inc (enum reg_class new_rclass, rtx in, rtx value, poly_int64 inc_amount)
 {
   /* REG or MEM to be copied and incremented.  */
   rtx incloc = XEXP (value, 0);
@@ -3561,7 +3561,7 @@ emit_inc (enum reg_class new_rclass, rtx
       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, GET_MODE (value));
     }
 
   if (! post && REG_P (incloc))

Reply via email to