nios2.c (save_reg, [...]): Use plus_constant.
authorSandra Loosemore <sandra@codesourcery.com>
Sun, 5 Jul 2015 02:56:18 +0000 (22:56 -0400)
committerSandra Loosemore <sandra@gcc.gnu.org>
Sun, 5 Jul 2015 02:56:18 +0000 (22:56 -0400)
2015-07-04  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/nios2/nios2.c (save_reg, restore_reg): Use plus_constant.
Use rtx_insn * instead of rtx.
(nios2_emit_add_constant): Use rtx_insn * instead of rtx.
(nios2_expand_prologue, nios2_expand_epilogue): Likewise.
(nios2_call_tls_get_addr): Likewise.
(nios2_emit_expensive_div): Likewise.
(nios2_emit_move_sequence): Change return type to bool.
* config/nios2/nios2-protos.h (nios2_emit_move_sequence):
Change return type to bool.

From-SVN: r225420

gcc/ChangeLog
gcc/config/nios2/nios2-protos.h
gcc/config/nios2/nios2.c

index adb30dbf8849f9df81a80b4b8aa55abfef11d9c6..fe9f6809a71f22848070cc883adc846a7f78b694 100644 (file)
@@ -1,3 +1,15 @@
+2015-07-04  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * config/nios2/nios2.c (save_reg, restore_reg): Use plus_constant.
+       Use rtx_insn * instead of rtx.
+       (nios2_emit_add_constant): Use rtx_insn * instead of rtx.
+       (nios2_expand_prologue, nios2_expand_epilogue): Likewise.
+       (nios2_call_tls_get_addr): Likewise.
+       (nios2_emit_expensive_div): Likewise.
+       (nios2_emit_move_sequence): Change return type to bool.
+       * config/nios2/nios2-protos.h (nios2_emit_move_sequence):
+       Change return type to bool.
+
 2015-07-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
 
        PR target/66747
index 903a9fddf60391f4d9ef1aefebd9df2787481723..2855c92b2f65acff3a3e7e0a92319f368138b31a 100644 (file)
@@ -29,7 +29,7 @@ extern void nios2_expand_epilogue (bool);
 extern void nios2_function_profiler (FILE *, int);
 
 #ifdef RTX_CODE
-extern int nios2_emit_move_sequence (rtx *, machine_mode);
+extern bool nios2_emit_move_sequence (rtx *, machine_mode);
 extern void nios2_emit_expensive_div (rtx *, machine_mode);
 extern void nios2_adjust_call_address (rtx *, rtx);
 
index 832b05d46f665f8ec5c91b2e5182696571f526c9..fd035fb59aa37fa3561a0294f8bd4712dd5c8e25 100644 (file)
@@ -446,9 +446,8 @@ static void
 save_reg (int regno, unsigned offset)
 {
   rtx reg = gen_rtx_REG (SImode, regno);
-  rtx addr = gen_rtx_PLUS (Pmode, stack_pointer_rtx,
-                          gen_int_mode (offset, Pmode));
-  rtx insn = emit_move_insn (gen_frame_mem (Pmode, addr), reg);
+  rtx addr = plus_constant (Pmode, stack_pointer_rtx, offset, false);
+  rtx_insn *insn = emit_move_insn (gen_frame_mem (Pmode, addr), reg);
   RTX_FRAME_RELATED_P (insn) = 1;
 }
 
@@ -456,9 +455,8 @@ static void
 restore_reg (int regno, unsigned offset)
 {
   rtx reg = gen_rtx_REG (SImode, regno);
-  rtx addr = gen_rtx_PLUS (Pmode, stack_pointer_rtx,
-                          gen_int_mode (offset, Pmode));
-  rtx insn = emit_move_insn (reg, gen_frame_mem (Pmode, addr));
+  rtx addr = plus_constant (Pmode, stack_pointer_rtx, offset, false);
+  rtx_insn *insn = emit_move_insn (reg, gen_frame_mem (Pmode, addr));
   /* Tag epilogue unwind note.  */
   add_reg_note (insn, REG_CFA_RESTORE, reg);
   RTX_FRAME_RELATED_P (insn) = 1;
@@ -479,10 +477,10 @@ nios2_emit_stack_limit_check (void)
 /* Temp regno used inside prologue/epilogue.  */
 #define TEMP_REG_NUM 8
 
-static rtx
+static rtx_insn *
 nios2_emit_add_constant (rtx reg, HOST_WIDE_INT immed)
 {
-  rtx insn;
+  rtx_insn *insn;
   if (SMALL_INT (immed))
     insn = emit_insn (gen_add2_insn (reg, gen_int_mode (immed, Pmode)));
   else
@@ -501,7 +499,7 @@ nios2_expand_prologue (void)
   int total_frame_size, save_offset;
   int sp_offset;      /* offset from base_reg to final stack value.  */
   int save_regs_base; /* offset from base_reg to register save area.  */
-  rtx insn;
+  rtx_insn *insn;
 
   total_frame_size = nios2_compute_frame_layout ();
 
@@ -587,7 +585,8 @@ nios2_expand_prologue (void)
 void
 nios2_expand_epilogue (bool sibcall_p)
 {
-  rtx insn, cfa_adj;
+  rtx_insn *insn;
+  rtx cfa_adj;
   int total_frame_size;
   int sp_adjust, save_offset;
   unsigned int regno;
@@ -1180,7 +1179,8 @@ nios2_call_tls_get_addr (rtx ti)
 {
   rtx arg = gen_rtx_REG (Pmode, FIRST_ARG_REGNO);
   rtx ret = gen_rtx_REG (Pmode, FIRST_RETVAL_REGNO);
-  rtx fn, insn;
+  rtx fn;
+  rtx_insn *insn;
   
   if (!nios2_tls_symbol)
     nios2_tls_symbol = init_one_libfunc ("__tls_get_addr");
@@ -1343,10 +1343,10 @@ nios2_emit_expensive_div (rtx *operands, machine_mode mode)
   rtx or_result, shift_left_result;
   rtx lookup_value;
   rtx_code_label *lab1, *lab3;
-  rtx insns;
+  rtx_insn *insns;
   rtx libfunc;
   rtx final_result;
-  rtx tmp;
+  rtx_insn *tmp;
   rtx table;
 
   /* It may look a little generic, but only SImode is supported for now.  */
@@ -1928,7 +1928,7 @@ nios2_delegitimize_address (rtx x)
 }
 
 /* Main expander function for RTL moves.  */
-int
+bool
 nios2_emit_move_sequence (rtx *operands, machine_mode mode)
 {
   rtx to = operands[0];
@@ -1947,7 +1947,7 @@ nios2_emit_move_sequence (rtx *operands, machine_mode mode)
 
   operands[0] = to;
   operands[1] = from;
-  return 0;
+  return false;
 }
 
 /* The function with address *ADDR is being called.  If the address