arm.c: Convert to ISO-C.

* config/arm/arm.c: Convert to ISO-C.
	* config/avr/avr.h: Likewise.
	* config/fr30/fr30.c: Likewise.
	* config/ip2k/ip2k.c: Likewise.
	* config/mn10300/mn10300.c: Likewise.

From-SVN: r74901
This commit is contained in:
Kazu Hirata 2003-12-21 07:29:36 +00:00 committed by Kazu Hirata
parent 5785c0ed5d
commit f177788284
6 changed files with 135 additions and 326 deletions

View File

@ -1,3 +1,11 @@
2003-12-21 Kazu Hirata <kazu@cs.umass.edu>
* config/arm/arm.c: Convert to ISO-C.
* config/avr/avr.h: Likewise.
* config/fr30/fr30.c: Likewise.
* config/ip2k/ip2k.c: Likewise.
* config/mn10300/mn10300.c: Likewise.
2003-12-20 Andrew Pinski <pinskia@gcc.gnu.org>
Matt Thomas <matt@3am-software.com>

View File

@ -13008,7 +13008,7 @@ aof_globalize_label (FILE *stream, const char *name)
}
static void
aof_file_start ()
aof_file_start (void)
{
fputs ("__r0\tRN\t0\n", asm_out_file);
fputs ("__a1\tRN\t0\n", asm_out_file);

View File

@ -1644,7 +1644,7 @@ do { \
#define EXTRA_SECTION_FUNCTIONS \
\
void \
progmem_section () \
progmem_section (void) \
{ \
if (in_section != in_progmem) \
{ \

View File

@ -154,9 +154,7 @@ struct gcc_target targetm = TARGET_INITIALIZER;
for the current function. As a side effect it fills in the
current_frame_info structure, if the data is available. */
unsigned int
fr30_compute_frame_size (from_reg, to_reg)
int from_reg;
int to_reg;
fr30_compute_frame_size (int from_reg, int to_reg)
{
int regno;
unsigned int return_value;
@ -219,7 +217,7 @@ fr30_compute_frame_size (from_reg, to_reg)
insn to prevent such scheduling. */
void
fr30_expand_prologue ()
fr30_expand_prologue (void)
{
int regno;
rtx insn;
@ -347,7 +345,7 @@ fr30_expand_prologue ()
In some cases, it might be necessary to emit a barrier instruction as the
first insn to prevent such scheduling. */
void
fr30_expand_epilogue ()
fr30_expand_epilogue (void)
{
int regno;
@ -406,11 +404,10 @@ fr30_expand_epilogue ()
ARG_REGS_USED_SO_FAR has *not* been updated for the last named argument
which has type TYPE and mode MODE, and we rely on this fact. */
void
fr30_setup_incoming_varargs (arg_regs_used_so_far, int_mode, type, pretend_size)
CUMULATIVE_ARGS arg_regs_used_so_far;
int int_mode;
tree type ATTRIBUTE_UNUSED;
int * pretend_size;
fr30_setup_incoming_varargs (CUMULATIVE_ARGS arg_regs_used_so_far,
int int_mode,
tree type ATTRIBUTE_UNUSED,
int *pretend_size)
{
enum machine_mode mode = (enum machine_mode)int_mode;
int size;
@ -440,9 +437,7 @@ fr30_setup_incoming_varargs (arg_regs_used_so_far, int_mode, type, pretend_size)
/* Print a memory address as an operand to reference that memory location. */
void
fr30_print_operand_address (stream, address)
FILE * stream;
rtx address;
fr30_print_operand_address (FILE *stream, rtx address)
{
switch (GET_CODE (address))
{
@ -461,10 +456,7 @@ fr30_print_operand_address (stream, address)
/* Print an operand. */
void
fr30_print_operand (file, x, code)
FILE * file;
rtx x;
int code;
fr30_print_operand (FILE *file, rtx x, int code)
{
rtx x0;
@ -665,9 +657,7 @@ fr30_print_operand (file, x, code)
/* Compute the number of word sized registers needed to hold a
function argument of mode INT_MODE and tree type TYPE. */
int
fr30_num_arg_regs (int_mode, type)
int int_mode;
tree type;
fr30_num_arg_regs (int int_mode, tree type)
{
enum machine_mode mode = (enum machine_mode) int_mode;
int size;
@ -692,11 +682,8 @@ fr30_num_arg_regs (int_mode, type)
parameters to the function. */
int
fr30_function_arg_partial_nregs (cum, int_mode, type, named)
CUMULATIVE_ARGS cum;
int int_mode;
tree type;
int named;
fr30_function_arg_partial_nregs (CUMULATIVE_ARGS cum, int int_mode,
tree type, int named)
{
/* Unnamed arguments, ie those that are prototyped as ...
are always passed on the stack.
@ -718,9 +705,7 @@ fr30_function_arg_partial_nregs (cum, int_mode, type, named)
}
static rtx
fr30_pass_by_reference (valist, type)
tree valist;
tree type;
fr30_pass_by_reference (tree valist, tree type)
{
tree type_ptr;
tree type_ptr_ptr;
@ -739,9 +724,7 @@ fr30_pass_by_reference (valist, type)
}
static rtx
fr30_pass_by_value (valist, type)
tree valist;
tree type;
fr30_pass_by_value (tree valist, tree type)
{
HOST_WIDE_INT size = int_size_in_bytes (type);
HOST_WIDE_INT rsize;
@ -775,9 +758,7 @@ fr30_pass_by_value (valist, type)
/* Implement `va_arg'. */
rtx
fr30_va_arg (valist, type)
tree valist;
tree type;
fr30_va_arg (tree valist, tree type)
{
HOST_WIDE_INT size;
@ -803,9 +784,7 @@ fr30_va_arg (valist, type)
/* Returns true if OPERAND is an integer value suitable for use in
an ADDSP instruction. */
int
stack_add_operand (operand, mode)
rtx operand;
Mmode mode ATTRIBUTE_UNUSED;
stack_add_operand (rtx operand, Mmode mode ATTRIBUTE_UNUSED)
{
return
(GET_CODE (operand) == CONST_INT
@ -817,9 +796,7 @@ stack_add_operand (operand, mode)
/* Returns true if OPERAND is an integer value suitable for use in
an ADD por ADD2 instruction, or if it is a register. */
int
add_immediate_operand (operand, mode)
rtx operand;
Mmode mode ATTRIBUTE_UNUSED;
add_immediate_operand (rtx operand, Mmode mode ATTRIBUTE_UNUSED)
{
return
(GET_CODE (operand) == REG
@ -830,9 +807,7 @@ add_immediate_operand (operand, mode)
/* Returns true if OPERAND is hard register in the range 8 - 15. */
int
high_register_operand (operand, mode)
rtx operand;
Mmode mode ATTRIBUTE_UNUSED;
high_register_operand (rtx operand, Mmode mode ATTRIBUTE_UNUSED)
{
return
(GET_CODE (operand) == REG
@ -842,9 +817,7 @@ high_register_operand (operand, mode)
/* Returns true if OPERAND is hard register in the range 0 - 7. */
int
low_register_operand (operand, mode)
rtx operand;
Mmode mode ATTRIBUTE_UNUSED;
low_register_operand (rtx operand, Mmode mode ATTRIBUTE_UNUSED)
{
return
(GET_CODE (operand) == REG
@ -853,9 +826,7 @@ low_register_operand (operand, mode)
/* Returns true if OPERAND is suitable for use in a CALL insn. */
int
call_operand (operand, mode)
rtx operand;
Mmode mode ATTRIBUTE_UNUSED;
call_operand (rtx operand, Mmode mode ATTRIBUTE_UNUSED)
{
return (GET_CODE (operand) == MEM
&& (GET_CODE (XEXP (operand, 0)) == SYMBOL_REF
@ -864,9 +835,7 @@ call_operand (operand, mode)
/* Returns TRUE if OP is a valid operand of a DImode operation. */
int
di_operand (op, mode)
rtx op;
Mmode mode;
di_operand (rtx op, Mmode mode)
{
if (register_operand (op, mode))
return TRUE;
@ -893,9 +862,7 @@ di_operand (op, mode)
/* Returns TRUE if OP is a DImode register or MEM. */
int
nonimmediate_di_operand (op, mode)
rtx op;
Mmode mode;
nonimmediate_di_operand (rtx op, Mmode mode)
{
if (register_operand (op, mode))
return TRUE;
@ -915,10 +882,7 @@ nonimmediate_di_operand (op, mode)
/* Returns true iff all the registers in the operands array
are in descending or ascending order. */
int
fr30_check_multiple_regs (operands, num_operands, descending)
rtx * operands;
int num_operands;
int descending;
fr30_check_multiple_regs (rtx *operands, int num_operands, int descending)
{
if (descending)
{
@ -955,8 +919,7 @@ fr30_check_multiple_regs (operands, num_operands, descending)
}
int
fr30_const_double_is_zero (operand)
rtx operand;
fr30_const_double_is_zero (rtx operand)
{
REAL_VALUE_TYPE d;
@ -979,8 +942,7 @@ fr30_const_double_is_zero (operand)
before we can use it. */
rtx
fr30_move_double (operands)
rtx * operands;
fr30_move_double (rtx * operands)
{
rtx src = operands[1];
rtx dest = operands[0];

View File

@ -143,8 +143,7 @@ int ip2k_reorg_merge_qimode = 0;
/* Set up local allocation order. */
void
ip2k_init_local_alloc (rao)
int * rao;
ip2k_init_local_alloc (int *rao)
{
static const int alloc_order[] = REG_ALLOC_ORDER;
@ -159,10 +158,7 @@ ip2k_init_local_alloc (rao)
SIZE is the number of bytes of arguments passed on the stack. */
int
ip2k_return_pops_args (fundecl, funtype, size)
tree fundecl ATTRIBUTE_UNUSED;
tree funtype;
int size;
ip2k_return_pops_args (tree fundecl ATTRIBUTE_UNUSED, tree funtype, int size)
{
if (TREE_CODE (funtype) == IDENTIFIER_NODE)
return size;
@ -177,8 +173,7 @@ ip2k_return_pops_args (fundecl, funtype, size)
/* Return nonzero if FUNC is a naked function. */
static int
ip2k_naked_function_p (func)
tree func;
ip2k_naked_function_p (tree func)
{
tree a;
@ -191,9 +186,7 @@ ip2k_naked_function_p (func)
/* Output function prologue. */
void
function_prologue (file, size)
FILE *file;
HOST_WIDE_INT size;
function_prologue (FILE *file, HOST_WIDE_INT size)
{
int leaf_func_p;
int main_p;
@ -314,9 +307,7 @@ function_prologue (file, size)
/* Output function epilogue. */
void
function_epilogue (file, size)
FILE *file;
HOST_WIDE_INT size;
function_epilogue (FILE *file, HOST_WIDE_INT size)
{
int leaf_func_p;
int reg,savelimit;
@ -550,9 +541,7 @@ function_epilogue (file, size)
STACK ALLOCATION
<------ SP ($6:$7) */
int
ip2k_init_elim_offset (from, to)
int from;
int to;
ip2k_init_elim_offset (int from, int to)
{
int leaf_func_p = leaf_function_p ();
int no_saved_pc = leaf_func_p
@ -597,10 +586,7 @@ ip2k_init_elim_offset (from, to)
machine for a memory operand of mode MODE. */
int
legitimate_address_p (mode, x, strict)
enum machine_mode mode;
rtx x;
int strict;
legitimate_address_p (enum machine_mode mode, rtx x, int strict)
{
int off;
@ -689,8 +675,7 @@ legitimate_address_p (mode, x, strict)
/* Is ADDR mode dependent? */
int
ip2k_mode_dependent_address (addr)
rtx addr;
ip2k_mode_dependent_address (rtx addr)
{
switch (GET_CODE (addr))
{
@ -712,11 +697,8 @@ ip2k_mode_dependent_address (addr)
memory address for an operand of mode MODE. */
rtx
legitimize_address (x, oldx, mode, scratch)
rtx x;
rtx oldx ATTRIBUTE_UNUSED;
rtx scratch;
enum machine_mode mode ATTRIBUTE_UNUSED;
legitimize_address (rtx x, rtx oldx ATTRIBUTE_UNUSED,
enum machine_mode mode ATTRIBUTE_UNUSED, rtx scratch)
{
rtx reg;
@ -747,8 +729,7 @@ legitimize_address (x, oldx, mode, scratch)
data and stack variables reside in data memory. Only code is believed
to be in PRAM or FLASH. */
int
is_regfile_address (x)
rtx x;
is_regfile_address (rtx x)
{
while (1)
switch (GET_CODE (x))
@ -775,9 +756,7 @@ is_regfile_address (x)
/* Output ADDR to FILE as address. */
void
print_operand_address (file, addr)
FILE *file;
rtx addr;
print_operand_address (FILE *file, rtx addr)
{
switch (GET_CODE (addr))
{
@ -848,10 +827,7 @@ print_operand_address (file, addr)
/* Output X as assembler operand to file FILE. */
void
print_operand (file, x, code)
FILE *file;
rtx x;
int code;
print_operand (FILE *file, rtx x, int code)
{
int abcd = 0;
unsigned long value;
@ -1101,9 +1077,7 @@ print_operand (file, x, code)
/* Remember the operands for the compare. */
const char *
ip2k_set_compare (x, y)
rtx x;
rtx y;
ip2k_set_compare (rtx x, rtx y)
{
ip2k_compare_operands[0] = x;
ip2k_compare_operands[1] = y;
@ -1112,10 +1086,7 @@ ip2k_set_compare (x, y)
/* Emit the code for sCOND instructions. */
const char *
ip2k_gen_sCOND (insn, code, dest)
rtx insn ATTRIBUTE_UNUSED;
enum rtx_code code;
rtx dest;
ip2k_gen_sCOND (rtx insn ATTRIBUTE_UNUSED, enum rtx_code code, rtx dest)
{
#define operands ip2k_compare_operands
enum machine_mode mode;
@ -1326,10 +1297,7 @@ ip2k_gen_sCOND (insn, code, dest)
}
const char *
ip2k_gen_signed_comp_branch (insn, code, label)
rtx insn;
enum rtx_code code;
rtx label;
ip2k_gen_signed_comp_branch (rtx insn, enum rtx_code code, rtx label)
{
#define operands ip2k_compare_operands
enum machine_mode mode;
@ -1675,10 +1643,7 @@ ip2k_gen_signed_comp_branch (insn, code, label)
}
const char *
ip2k_gen_unsigned_comp_branch (insn, code, label)
rtx insn;
enum rtx_code code;
rtx label;
ip2k_gen_unsigned_comp_branch (rtx insn, enum rtx_code code, rtx label)
{
#define operands ip2k_compare_operands
enum machine_mode mode;
@ -3043,9 +3008,7 @@ ip2k_gen_unsigned_comp_branch (insn, code, label)
/* Output rtx VALUE as .byte to file FILE. */
void
asm_output_char(file, value)
FILE *file;
rtx value;
asm_output_char (FILE *file, rtx value)
{
fprintf (file, "\t.byte ");
output_addr_const (file, value);
@ -3056,9 +3019,7 @@ asm_output_char(file, value)
/* Output VALUE as .byte to file FILE. */
void
asm_output_byte (file,value)
FILE *file;
int value;
asm_output_byte (FILE *file, int value)
{
fprintf (file, "\t.byte 0x%x\n",value & 0xff);
}
@ -3067,9 +3028,7 @@ asm_output_byte (file,value)
/* Output rtx VALUE as .word to file FILE. */
void
asm_output_short (file, value)
FILE *file;
rtx value;
asm_output_short (FILE *file, rtx value)
{
fprintf (file, "\t.word ");
output_addr_const (file, (value));
@ -3080,9 +3039,7 @@ asm_output_short (file, value)
/* Output real N to file FILE. */
void
asm_output_float (file, n)
FILE *file;
REAL_VALUE_TYPE n;
asm_output_float (FILE *file, REAL_VALUE_TYPE n)
{
long val;
char dstr[100];
@ -3096,9 +3053,7 @@ asm_output_float (file, n)
/* Sets section name for declaration DECL. */
void
unique_section (decl, reloc)
tree decl;
int reloc ATTRIBUTE_UNUSED;
unique_section (tree decl, int reloc ATTRIBUTE_UNUSED)
{
int len;
const char *name;
@ -3131,11 +3086,8 @@ unique_section (decl, reloc)
/* Output section name to file FILE. */
void
asm_output_section_name(file, decl, name, reloc)
FILE *file;
tree decl ATTRIBUTE_UNUSED;
const char *name;
int reloc ATTRIBUTE_UNUSED;
asm_output_section_name (FILE *file, tree decl ATTRIBUTE_UNUSED,
const char *name, int reloc ATTRIBUTE_UNUSED)
{
fprintf (file, ".section %s\n", name);
}
@ -3145,8 +3097,7 @@ asm_output_section_name(file, decl, name, reloc)
because registers of CLASS are needed for spill registers. */
enum reg_class
class_likely_spilled_p(c)
int c;
class_likely_spilled_p (int c)
{
return (c == IP_REGS
|| c == IPL_REGS
@ -3176,12 +3127,10 @@ const struct attribute_spec ip2k_attribute_table[] =
/* Handle a "progmem" attribute; arguments as in
struct attribute_spec.handler. */
static tree
ip2k_handle_progmem_attribute (node, name, args, flags, no_add_attrs)
tree *node;
tree name;
tree args ATTRIBUTE_UNUSED;
int flags ATTRIBUTE_UNUSED;
bool *no_add_attrs;
ip2k_handle_progmem_attribute (tree *node, tree name,
tree args ATTRIBUTE_UNUSED,
int flags ATTRIBUTE_UNUSED,
bool *no_add_attrs)
{
if (DECL_P (*node))
{
@ -3220,12 +3169,10 @@ ip2k_handle_progmem_attribute (node, name, args, flags, no_add_attrs)
/* Handle an attribute requiring a FUNCTION_DECL; arguments as in
struct attribute_spec.handler. */
static tree
ip2k_handle_fndecl_attribute (node, name, args, flags, no_add_attrs)
tree *node;
tree name;
tree args ATTRIBUTE_UNUSED;
int flags ATTRIBUTE_UNUSED;
bool *no_add_attrs;
ip2k_handle_fndecl_attribute (tree *node, tree name,
tree args ATTRIBUTE_UNUSED,
int flags ATTRIBUTE_UNUSED,
bool *no_add_attrs)
{
if (TREE_CODE (*node) != FUNCTION_DECL)
{
@ -3244,10 +3191,7 @@ ip2k_handle_fndecl_attribute (node, name, args, flags, no_add_attrs)
scanned. In either case, *TOTAL contains the cost result. */
static bool
ip2k_rtx_costs (x, code, outer_code, total)
rtx x;
int code, outer_code;
int *total;
ip2k_rtx_costs (rtx x, int code, int outer_code, int *total)
{
enum machine_mode mode = GET_MODE (x);
int extra_cost = 0;
@ -3380,8 +3324,7 @@ ip2k_rtx_costs (x, code, outer_code, total)
/* Calculate the cost of a memory address. */
static int
ip2k_address_cost (x)
rtx x;
ip2k_address_cost (rtx x)
{
switch (legitimate_address_p (VOIDmode, x, 0))
{
@ -4160,9 +4103,7 @@ mdr_try_move_dp_reload (first_insn)
a fixed constant, offset. If it definitely can then returns nonzero. */
static int
ip2k_check_can_adjust_stack_ref (x, offset)
rtx x;
int offset;
ip2k_check_can_adjust_stack_ref (rtx x, int offset)
{
if (GET_RTX_CLASS (GET_CODE (x)) == '2'
|| GET_RTX_CLASS (GET_CODE (x)) == 'c')
@ -4208,9 +4149,7 @@ ip2k_check_can_adjust_stack_ref (x, offset)
a fixed offset. */
static void
ip2k_adjust_stack_ref (x, offset)
rtx *x;
int offset;
ip2k_adjust_stack_ref (rtx *x, int offset)
{
if (GET_RTX_CLASS (GET_CODE (*x)) == '2'
|| GET_RTX_CLASS (GET_CODE (*x)) == 'c')
@ -4699,9 +4638,7 @@ mdr_try_propagate_clr (first_insn)
nonzero if we definitely don't have such a memory ref. */
static int
ip2k_xexp_not_uses_reg_for_mem (x, regno)
rtx x;
unsigned int regno;
ip2k_xexp_not_uses_reg_for_mem (rtx x, unsigned int regno)
{
if (regno & 1)
regno &= 0xfffffffe;
@ -5316,7 +5253,7 @@ mdr_try_wreg_elim (first_insn)
making the subsequent runs continue to win. */
static void
ip2k_reorg ()
ip2k_reorg (void)
{
#ifdef IP2K_MD_REORG_PASS
rtx first_insn, insn, set;
@ -5518,8 +5455,7 @@ ip2k_init_libfuncs (void)
/* Returns a bit position if mask contains only a single bit. Returns -1 if
there were zero or more than one set bits. */
int
find_one_set_bit_p (mask)
HOST_WIDE_INT mask;
find_one_set_bit_p (HOST_WIDE_INT mask)
{
int i;
unsigned HOST_WIDE_INT n = mask;
@ -5540,8 +5476,7 @@ find_one_set_bit_p (mask)
/* Returns a bit position if mask contains only a single clear bit.
Returns -1 if there were zero or more than one clear bits. */
int
find_one_clear_bit_p (mask)
HOST_WIDE_INT mask;
find_one_clear_bit_p (HOST_WIDE_INT mask)
{
int i;
unsigned HOST_WIDE_INT n = mask;
@ -5568,10 +5503,8 @@ find_one_clear_bit_p (mask)
and OPERANDS[5]. */
void
ip2k_split_words (nmode, omode, operands)
enum machine_mode nmode;
enum machine_mode omode;
rtx *operands;
ip2k_split_words (enum machine_mode nmode, enum machine_mode omode,
rtx *operands)
{
rtx dl, dh; /* src/dest pieces. */
rtx sl, sh;
@ -5759,9 +5692,7 @@ ip2k_split_words (nmode, omode, operands)
/* Get the low half of an operand. */
rtx
ip2k_get_low_half (x, mode)
rtx x;
enum machine_mode mode;
ip2k_get_low_half (rtx x, enum machine_mode mode)
{
switch (GET_CODE (x))
{
@ -5860,9 +5791,7 @@ ip2k_get_low_half (x, mode)
/* Get the high half of an operand. */
rtx
ip2k_get_high_half (x, mode)
rtx x;
enum machine_mode mode;
ip2k_get_high_half (rtx x, enum machine_mode mode)
{
switch (GET_CODE (x))
{
@ -5962,9 +5891,7 @@ ip2k_get_high_half (x, mode)
or REG_FP. */
int
ip2k_address_uses_reg_p (x, r)
rtx x;
unsigned int r;
ip2k_address_uses_reg_p (rtx x, unsigned int r)
{
if (GET_CODE (x) != MEM)
return 0;
@ -6011,10 +5938,7 @@ ip2k_address_uses_reg_p (x, r)
that it doesn't then we return TRUE otherwise we assume FALSE. */
int
ip2k_xexp_not_uses_reg_p (x, r, rsz)
rtx x;
unsigned int r;
int rsz;
ip2k_xexp_not_uses_reg_p (rtx x, unsigned int r, int rsz)
{
switch (GET_CODE (x))
{
@ -6047,10 +5971,7 @@ ip2k_xexp_not_uses_reg_p (x, r, rsz)
that it doesn't then we return TRUE otherwise we assume FALSE. */
int
ip2k_composite_xexp_not_uses_reg_p (x, r, rsz)
rtx x;
unsigned int r;
int rsz;
ip2k_composite_xexp_not_uses_reg_p (rtx x, unsigned int r, int rsz)
{
if (GET_RTX_CLASS (GET_CODE (x)) == 'b')
return (ip2k_composite_xexp_not_uses_reg_p (XEXP (x, 0), r, rsz)
@ -6074,8 +5995,7 @@ ip2k_composite_xexp_not_uses_reg_p (x, r, rsz)
it doesn't then we return TRUE otherwise we assume FALSE. */
int
ip2k_composite_xexp_not_uses_cc0_p (x)
rtx x;
ip2k_composite_xexp_not_uses_cc0_p (rtx x)
{
if (GET_RTX_CLASS (GET_CODE (x)) == 'b')
return (ip2k_composite_xexp_not_uses_cc0_p (XEXP (x, 0))
@ -6096,17 +6016,13 @@ ip2k_composite_xexp_not_uses_cc0_p (x)
}
int
ip2k_split_dest_operand (x, mode)
rtx x;
enum machine_mode mode;
ip2k_split_dest_operand (rtx x, enum machine_mode mode)
{
return nonimmediate_operand (x, mode) || push_operand (x, mode);
}
int
ip2k_nonptr_operand (x, mode)
rtx x;
enum machine_mode mode;
ip2k_nonptr_operand (rtx x, enum machine_mode mode)
{
return register_operand (x, mode) && !ip2k_ptr_operand (x, mode);
}
@ -6114,9 +6030,7 @@ ip2k_nonptr_operand (x, mode)
/* Is X a reference to IP or DP or SP? */
int
ip2k_ptr_operand (x, mode)
rtx x;
enum machine_mode mode;
ip2k_ptr_operand (rtx x, enum machine_mode mode)
{
if (GET_CODE (x) == SUBREG)
@ -6130,18 +6044,14 @@ ip2k_ptr_operand (x, mode)
}
int
ip2k_sp_operand (x, mode)
rtx x;
enum machine_mode mode ATTRIBUTE_UNUSED;
ip2k_sp_operand (rtx x, enum machine_mode mode ATTRIBUTE_UNUSED)
{
return REG_P (x) && REGNO (x) == REG_SP;
}
int
ip2k_ip_operand (x, mode)
rtx x;
enum machine_mode mode;
ip2k_ip_operand (rtx x, enum machine_mode mode)
{
if (GET_CODE (x) != MEM)
@ -6163,9 +6073,7 @@ ip2k_ip_operand (x, mode)
/* Is X a memory address suitable for SP or DP relative addressing? */
int
ip2k_short_operand (x, mode)
rtx x;
enum machine_mode mode;
ip2k_short_operand (rtx x, enum machine_mode mode)
{
int r;
unsigned int offs = 0;
@ -6211,9 +6119,7 @@ ip2k_short_operand (x, mode)
}
int
ip2k_nonsp_reg_operand (x, mode)
rtx x;
enum machine_mode mode ATTRIBUTE_UNUSED;
ip2k_nonsp_reg_operand (rtx x, enum machine_mode mode ATTRIBUTE_UNUSED)
{
if (GET_CODE (x) == SUBREG)
x = SUBREG_REG (x);
@ -6222,9 +6128,7 @@ ip2k_nonsp_reg_operand (x, mode)
}
int
ip2k_gen_operand (x, mode)
rtx x;
enum machine_mode mode;
ip2k_gen_operand (rtx x, enum machine_mode mode)
{
return ip2k_short_operand (x, mode)
|| (GET_CODE (x) == SUBREG
@ -6233,9 +6137,7 @@ ip2k_gen_operand (x, mode)
}
int
ip2k_extra_constraint (x, c)
rtx x;
int c;
ip2k_extra_constraint (rtx x, int c)
{
switch (c)
{
@ -6254,18 +6156,14 @@ ip2k_extra_constraint (x, c)
}
int
ip2k_unary_operator (op, mode)
rtx op;
enum machine_mode mode;
ip2k_unary_operator (rtx op, enum machine_mode mode)
{
return ((mode == VOIDmode || GET_MODE (op) == mode)
&& GET_RTX_CLASS (GET_CODE (op)) == '1');
}
int
ip2k_binary_operator (op, mode)
rtx op;
enum machine_mode mode;
ip2k_binary_operator (rtx op, enum machine_mode mode)
{
return ((mode == VOIDmode || GET_MODE (op) == mode)
&& (GET_RTX_CLASS (GET_CODE (op)) == 'c'
@ -6273,9 +6171,7 @@ ip2k_binary_operator (op, mode)
}
int
ip2k_symbol_ref_operand (op, mode)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
ip2k_symbol_ref_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
{
/* We define an IP2k symbol ref to be either a direct reference or one
with a constant offset. */
@ -6286,18 +6182,14 @@ ip2k_symbol_ref_operand (op, mode)
}
int
ip2k_signed_comparison_operator (op, mode)
rtx op;
enum machine_mode mode;
ip2k_signed_comparison_operator (rtx op, enum machine_mode mode)
{
return (comparison_operator (op, mode)
&& signed_condition (GET_CODE (op)) == GET_CODE (op));
}
int
ip2k_unsigned_comparison_operator (op, mode)
rtx op;
enum machine_mode mode;
ip2k_unsigned_comparison_operator (rtx op, enum machine_mode mode)
{
return (comparison_operator (op, mode)
&& unsigned_condition (GET_CODE (op)) == GET_CODE (op));

View File

@ -92,7 +92,7 @@ static void mn10300_encode_section_info (tree, rtx, int);
struct gcc_target targetm = TARGET_INITIALIZER;
static void
mn10300_file_start ()
mn10300_file_start (void)
{
default_file_start ();
@ -107,10 +107,7 @@ mn10300_file_start ()
FILE. */
void
print_operand (file, x, code)
FILE *file;
rtx x;
int code;
print_operand (FILE *file, rtx x, int code)
{
switch (code)
{
@ -437,9 +434,7 @@ print_operand (file, x, code)
/* Output assembly language output for the address ADDR to FILE. */
void
print_operand_address (file, addr)
FILE *file;
rtx addr;
print_operand_address (FILE *file, rtx addr)
{
switch (GET_CODE (addr))
{
@ -477,7 +472,7 @@ print_operand_address (file, addr)
/* Count the number of FP registers that have to be saved. */
static int
fp_regs_to_save ()
fp_regs_to_save (void)
{
int i, n = 0;
@ -498,9 +493,7 @@ fp_regs_to_save ()
bits 14 to 17 must have the same value. */
void
mn10300_print_reg_list (file, mask)
FILE *file;
int mask;
mn10300_print_reg_list (FILE *file, int mask)
{
int need_comma;
int i;
@ -531,7 +524,7 @@ mn10300_print_reg_list (file, mask)
}
int
can_use_return_insn ()
can_use_return_insn (void)
{
/* size includes the fixed stack space needed for function calls. */
int size = get_frame_size () + current_function_outgoing_args_size;
@ -558,7 +551,7 @@ can_use_return_insn ()
all of them will be included in the mask if any one of them is used. */
int
mn10300_get_live_callee_saved_regs ()
mn10300_get_live_callee_saved_regs (void)
{
int mask;
int i;
@ -593,8 +586,7 @@ mn10300_get_live_callee_saved_regs ()
(reg:SI R1))) */
void
mn10300_gen_multiple_store (mask)
int mask;
mn10300_gen_multiple_store (int mask)
{
if (mask != 0)
{
@ -642,7 +634,7 @@ mn10300_gen_multiple_store (mask)
}
void
expand_prologue ()
expand_prologue (void)
{
HOST_WIDE_INT size;
@ -917,7 +909,7 @@ expand_prologue ()
}
void
expand_epilogue ()
expand_epilogue (void)
{
HOST_WIDE_INT size;
@ -1155,9 +1147,7 @@ expand_epilogue ()
/* Update the condition code from the insn. */
void
notice_update_cc (body, insn)
rtx body;
rtx insn;
notice_update_cc (rtx body, rtx insn)
{
switch (get_attr_cc (insn))
{
@ -1220,9 +1210,7 @@ notice_update_cc (body, insn)
registers it saves. Return 0 otherwise. */
int
store_multiple_operation (op, mode)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
store_multiple_operation (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
{
int count;
int mask;
@ -1298,9 +1286,7 @@ store_multiple_operation (op, mode)
/* Return true if OP is a valid call operand. */
int
call_address_operand (op, mode)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
call_address_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
{
if (flag_pic)
return (EXTRA_CONSTRAINT (op, 'S') || GET_CODE (op) == REG);
@ -1313,10 +1299,7 @@ call_address_operand (op, mode)
We might be able to simplify this. */
enum reg_class
secondary_reload_class (class, mode, in)
enum reg_class class;
enum machine_mode mode;
rtx in;
secondary_reload_class (enum reg_class class, enum machine_mode mode, rtx in)
{
/* Memory loads less than a full word wide can't have an
address or stack pointer destination. They must use
@ -1372,8 +1355,7 @@ secondary_reload_class (class, mode, in)
}
int
initial_offset (from, to)
int from, to;
initial_offset (int from, int to)
{
/* The difference between the argument pointer and the frame pointer
is the size of the callee register save area. */
@ -1426,7 +1408,7 @@ initial_offset (from, to)
/* Flush the argument registers to the stack for a stdarg function;
return the new argument pointer. */
rtx
mn10300_builtin_saveregs ()
mn10300_builtin_saveregs (void)
{
rtx offset, mem;
tree fntype = TREE_TYPE (current_function_decl);
@ -1456,17 +1438,14 @@ mn10300_builtin_saveregs ()
}
void
mn10300_va_start (valist, nextarg)
tree valist;
rtx nextarg;
mn10300_va_start (tree valist, rtx nextarg)
{
nextarg = expand_builtin_saveregs ();
std_expand_builtin_va_start (valist, nextarg);
}
rtx
mn10300_va_arg (valist, type)
tree valist, type;
mn10300_va_arg (tree valist, tree type)
{
HOST_WIDE_INT align, rsize;
tree t, ptr, pptr;
@ -1505,11 +1484,8 @@ mn10300_va_arg (valist, type)
from a function. If the result is 0, the argument is pushed. */
rtx
function_arg (cum, mode, type, named)
CUMULATIVE_ARGS *cum;
enum machine_mode mode;
tree type;
int named ATTRIBUTE_UNUSED;
function_arg (CUMULATIVE_ARGS *cum, enum machine_mode mode,
tree type, int named ATTRIBUTE_UNUSED)
{
rtx result = 0;
int size, align;
@ -1558,11 +1534,8 @@ function_arg (cum, mode, type, named)
in registers and partially in memory. */
int
function_arg_partial_nregs (cum, mode, type, named)
CUMULATIVE_ARGS *cum;
enum machine_mode mode;
tree type;
int named ATTRIBUTE_UNUSED;
function_arg_partial_nregs (CUMULATIVE_ARGS *cum, enum machine_mode mode,
tree type, int named ATTRIBUTE_UNUSED)
{
int size, align;
@ -1599,8 +1572,7 @@ function_arg_partial_nregs (cum, mode, type, named)
/* Output a tst insn. */
const char *
output_tst (operand, insn)
rtx operand, insn;
output_tst (rtx operand, rtx insn)
{
rtx temp;
int past_call = 0;
@ -1689,9 +1661,7 @@ output_tst (operand, insn)
}
int
impossible_plus_operand (op, mode)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
impossible_plus_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
{
if (GET_CODE (op) != PLUS)
return 0;
@ -1707,9 +1677,7 @@ impossible_plus_operand (op, mode)
for the btst insn which may examine memory or a register (the memory
variant only allows an unsigned 8 bit integer). */
int
const_8bit_operand (op, mode)
register rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
const_8bit_operand (register rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
{
return (GET_CODE (op) == CONST_INT
&& INTVAL (op) >= 0
@ -1718,9 +1686,7 @@ const_8bit_operand (op, mode)
/* Return true if the operand is the 1.0f constant. */
int
const_1f_operand (op, mode)
register rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
const_1f_operand (register rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
{
return (op == CONST1_RTX (SFmode));
}
@ -1728,9 +1694,7 @@ const_1f_operand (op, mode)
/* Similarly, but when using a zero_extract pattern for a btst where
the source operand might end up in memory. */
int
mask_ok_for_mem_btst (len, bit)
int len;
int bit;
mask_ok_for_mem_btst (int len, int bit)
{
unsigned int mask = 0;
@ -1752,9 +1716,7 @@ mask_ok_for_mem_btst (len, bit)
expressions will have one of a few well defined forms, so
we need only check those forms. */
int
symbolic_operand (op, mode)
register rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
symbolic_operand (register rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
{
switch (GET_CODE (op))
{
@ -1787,10 +1749,8 @@ symbolic_operand (op, mode)
But on a few ports with segmented architectures and indexed addressing
(mn10300, hppa) it is used to rewrite certain problematical addresses. */
rtx
legitimize_address (x, oldx, mode)
rtx x;
rtx oldx ATTRIBUTE_UNUSED;
enum machine_mode mode ATTRIBUTE_UNUSED;
legitimize_address (rtx x, rtx oldx ATTRIBUTE_UNUSED,
enum machine_mode mode ATTRIBUTE_UNUSED)
{
if (flag_pic && ! legitimate_pic_operand_p (x))
x = legitimize_pic_address (oldx, NULL_RTX);
@ -1828,9 +1788,7 @@ legitimize_address (x, oldx, mode)
/* Convert a non-PIC address in `orig' to a PIC address using @GOT or
@GOTOFF in `reg'. */
rtx
legitimize_pic_address (orig, reg)
rtx orig;
rtx reg;
legitimize_pic_address (rtx orig, rtx reg)
{
if (GET_CODE (orig) == LABEL_REF
|| (GET_CODE (orig) == SYMBOL_REF
@ -1857,8 +1815,7 @@ legitimize_pic_address (orig, reg)
/* Return zero if X references a SYMBOL_REF or LABEL_REF whose symbol
isn't protected by a PIC unspec; nonzero otherwise. */
int
legitimate_pic_operand_p (x)
rtx x;
legitimate_pic_operand_p (rtx x)
{
register const char *fmt;
register int i;
@ -1895,9 +1852,7 @@ legitimate_pic_operand_p (x)
}
static int
mn10300_address_cost_1 (x, unsig)
rtx x;
int *unsig;
mn10300_address_cost_1 (rtx x, int *unsig)
{
switch (GET_CODE (x))
{
@ -1976,18 +1931,14 @@ mn10300_address_cost_1 (x, unsig)
}
static int
mn10300_address_cost (x)
rtx x;
mn10300_address_cost (rtx x)
{
int s = 0;
return mn10300_address_cost_1 (x, &s);
}
static bool
mn10300_rtx_costs (x, code, outer_code, total)
rtx x;
int code, outer_code;
int *total;
mn10300_rtx_costs (rtx x, int code, int outer_code, int *total)
{
switch (code)
{
@ -2039,8 +1990,7 @@ mn10300_rtx_costs (x, code, outer_code, total)
movdf and movdi. */
bool
mn10300_wide_const_load_uses_clr (operands)
rtx operands[2];
mn10300_wide_const_load_uses_clr (rtx operands[2])
{
long val[2];
@ -2085,10 +2035,7 @@ mn10300_wide_const_load_uses_clr (operands)
may access it using GOTOFF instead of GOT. */
static void
mn10300_encode_section_info (decl, rtl, first)
tree decl;
rtx rtl;
int first;
mn10300_encode_section_info (tree decl, rtx rtl, int first)
{
rtx symbol;