[NDS32] Define and rename some GPR-specific stuff.
authorChung-Ju Wu <jasonwucj@gmail.com>
Wed, 3 Sep 2014 09:16:51 +0000 (09:16 +0000)
committerChung-Ju Wu <jasonwucj@gcc.gnu.org>
Wed, 3 Sep 2014 09:16:51 +0000 (09:16 +0000)
* config/nds32/nds32.c (nds32_function_arg): Define and rename some
GPR-specific stuff.
(nds32_function_arg_advance): Likewise.
(nds32_init_cumulative_args): Likewise.
* config/nds32/nds32.h (NDS32_MAX_GPR_REGS_FOR_ARGS): Define.
(NDS32_FIRST_GPR_REGNUM): Define.
(NDS32_LAST_GPR_REGNUM): Define.
(NDS32_AVAILABLE_REGNUM_FOR_GPR_ARG): Define.
(NDS32_ARG_PASS_IN_REG_P): Use NDS32_MAX_GPR_REGS_FOR_ARGS.
(FUNCTION_ARG_REGNO_P): Use NDS32_MAX_GPR_REGS_FOR_ARGS.
(machine_function): Use GRP-specific stuff.

From-SVN: r214859

gcc/ChangeLog
gcc/config/nds32/nds32.c
gcc/config/nds32/nds32.h

index 22d24ef929e652f44703233e12054adf05543e8c..db52c61654623b65f3651a4811109fb1e24b0bb4 100644 (file)
@@ -1,3 +1,17 @@
+2014-09-03  Chung-Ju Wu  <jasonwucj@gmail.com>
+
+       * config/nds32/nds32.c (nds32_function_arg): Define and rename some
+       GPR-specific stuff.
+       (nds32_function_arg_advance): Likewise.
+       (nds32_init_cumulative_args): Likewise.
+       * config/nds32/nds32.h (NDS32_MAX_GPR_REGS_FOR_ARGS): Define.
+       (NDS32_FIRST_GPR_REGNUM): Define.
+       (NDS32_LAST_GPR_REGNUM): Define.
+       (NDS32_AVAILABLE_REGNUM_FOR_GPR_ARG): Define.
+       (NDS32_ARG_PASS_IN_REG_P): Use NDS32_MAX_GPR_REGS_FOR_ARGS.
+       (FUNCTION_ARG_REGNO_P): Use NDS32_MAX_GPR_REGS_FOR_ARGS.
+       (machine_function): Use GRP-specific stuff.
+
 2014-09-03  Chung-Ju Wu  <jasonwucj@gmail.com>
 
        * config/nds32/nds32.c (nds32_expand_prologue): Remove unused variables.
index 1bb8c4c9cc52c392eb09ceafe465d57de86d2720..54abc969bd3444d2a5d7f633597958134a191894 100644 (file)
@@ -1294,12 +1294,12 @@ nds32_function_arg (cumulative_args_t ca, enum machine_mode mode,
     return NULL_RTX;
 
   /* If there are still registers available, return it.  */
-  if (NDS32_ARG_PASS_IN_REG_P (cum->reg_offset, mode, type))
+  if (NDS32_ARG_PASS_IN_REG_P (cum->gpr_offset, mode, type))
     {
       /* Pick up the next available register number.  */
       unsigned int regno;
 
-      regno = NDS32_AVAILABLE_REGNUM_FOR_ARG (cum->reg_offset, mode, type);
+      regno = NDS32_AVAILABLE_REGNUM_FOR_GPR_ARG (cum->gpr_offset, mode, type);
       return gen_rtx_REG (mode, regno);
     }
   else
@@ -1320,8 +1320,8 @@ nds32_function_arg_advance (cumulative_args_t ca, enum machine_mode mode,
      Only named argument could be advanced.  */
   if (named)
     {
-      cum->reg_offset
-       = NDS32_AVAILABLE_REGNUM_FOR_ARG (cum->reg_offset, mode, type)
+      cum->gpr_offset
+       = NDS32_AVAILABLE_REGNUM_FOR_GPR_ARG (cum->gpr_offset, mode, type)
          - NDS32_GPR_ARG_FIRST_REGNUM
          + NDS32_NEED_N_REGS_FOR_ARG (mode, type);
     }
@@ -2656,7 +2656,7 @@ nds32_init_cumulative_args (CUMULATIVE_ARGS *cum,
   /* Initial available registers
      (in offset, corresponding to NDS32_GPR_ARG_FIRST_REGNUM)
      for passing arguments.  */
-  cum->reg_offset = 0;
+  cum->gpr_offset = 0;
 }
 
 /* -- Function Entry and Exit.  */
index d0b8142be9b897f4c7947dd81617b065628e15f0..c446041793b21a227cec9eeabe9294c02182cd30 100644 (file)
@@ -109,7 +109,7 @@ enum nds32_16bit_address_type
 /* ------------------------------------------------------------------------ */
 
 /* Define maximum numbers of registers for passing arguments.  */
-#define NDS32_MAX_REGS_FOR_ARGS 6
+#define NDS32_MAX_GPR_REGS_FOR_ARGS 6
 
 /* Define the register number for first argument.  */
 #define NDS32_GPR_ARG_FIRST_REGNUM 0
@@ -117,6 +117,10 @@ enum nds32_16bit_address_type
 /* Define the register number for return value.  */
 #define NDS32_GPR_RET_FIRST_REGNUM 0
 
+/* Define the first integer register number.  */
+#define NDS32_FIRST_GPR_REGNUM 0
+/* Define the last integer register number.  */
+#define NDS32_LAST_GPR_REGNUM 31
 
 /* Define double word alignment bits.  */
 #define NDS32_DOUBLE_WORD_ALIGNMENT 64
@@ -154,19 +158,19 @@ enum nds32_16bit_address_type
           b) Otherwise, the register number can be odd or even value.
      2. If it is required ONLY one register,
         the register number can be odd or even value.  */
-#define NDS32_AVAILABLE_REGNUM_FOR_ARG(reg_offset, mode, type)  \
-  ((NDS32_NEED_N_REGS_FOR_ARG (mode, type) > 1)                 \
-   ? ((NDS32_MODE_TYPE_ALIGN (mode, type) > PARM_BOUNDARY)      \
-      ? (((reg_offset) + NDS32_GPR_ARG_FIRST_REGNUM + 1) & ~1)  \
-      : ((reg_offset) + NDS32_GPR_ARG_FIRST_REGNUM))            \
+#define NDS32_AVAILABLE_REGNUM_FOR_GPR_ARG(reg_offset, mode, type)  \
+  ((NDS32_NEED_N_REGS_FOR_ARG (mode, type) > 1)                     \
+   ? ((NDS32_MODE_TYPE_ALIGN (mode, type) > PARM_BOUNDARY)          \
+      ? (((reg_offset) + NDS32_GPR_ARG_FIRST_REGNUM + 1) & ~1)      \
+      : ((reg_offset) + NDS32_GPR_ARG_FIRST_REGNUM))                \
    : ((reg_offset) + NDS32_GPR_ARG_FIRST_REGNUM))
 
 /* This macro is to check if there are still available registers
    for passing argument.  */
 #define NDS32_ARG_PASS_IN_REG_P(reg_offset, mode, type)      \
-  (((reg_offset) < NDS32_MAX_REGS_FOR_ARGS)                  \
+  (((reg_offset) < NDS32_MAX_GPR_REGS_FOR_ARGS)              \
    && ((reg_offset) + NDS32_NEED_N_REGS_FOR_ARG (mode, type) \
-       <= NDS32_MAX_REGS_FOR_ARGS))
+       <= NDS32_MAX_GPR_REGS_FOR_ARGS))
 
 /* This macro is to check if the register is required to be saved on stack.
    If call_used_regs[regno] == 0, regno is the callee-saved register.
@@ -227,7 +231,7 @@ struct GTY(()) machine_function
 /* A C structure that contains the arguments information.  */
 typedef struct
 {
-  unsigned int reg_offset;
+  unsigned int gpr_offset;
 } nds32_cumulative_args;
 
 /* ------------------------------------------------------------------------ */
@@ -710,7 +714,7 @@ enum reg_class
    'comparison of unsigned expression >= 0 is always true' warning.  */
 #define FUNCTION_ARG_REGNO_P(regno)                                        \
   (((int) regno - NDS32_GPR_ARG_FIRST_REGNUM >= 0)                         \
-   && ((int) regno - NDS32_GPR_ARG_FIRST_REGNUM < NDS32_MAX_REGS_FOR_ARGS))
+   && ((int) regno - NDS32_GPR_ARG_FIRST_REGNUM < NDS32_MAX_GPR_REGS_FOR_ARGS))
 
 #define DEFAULT_PCC_STRUCT_RETURN 0