Move prototypes into v850-protos.h
From-SVN: r30450
This commit is contained in:
parent
140b60b42e
commit
674fdc14b3
4 changed files with 30 additions and 109 deletions
|
@ -1,3 +1,11 @@
|
|||
Mon Nov 8 15:38:41 1999 Nick Clifton <nickc@cygnus.com>
|
||||
|
||||
* config/v850/v850-protos.h: New file: Prototypes for functions
|
||||
defined in v850.c
|
||||
* config/v850/v850.h: Move prototypes to v850-protos.h
|
||||
* config/v850/v850.c: Move prototypes to v850-protos.h
|
||||
* config/v850/v850.md: Fix compile time warnings.
|
||||
|
||||
Mon Nov 8 07:25:37 1999 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* tree.h (get_containing_scope): Declare it.
|
||||
|
|
|
@ -37,51 +37,12 @@ Boston, MA 02111-1307, USA. */
|
|||
#include "function.h"
|
||||
#include "obstack.h"
|
||||
#include "toplev.h"
|
||||
#include "v850-protos.h"
|
||||
|
||||
#ifndef streq
|
||||
#define streq(a,b) (strcmp (a, b) == 0)
|
||||
#endif
|
||||
|
||||
/* Function prototypes that cannot exist in v850.h due to dependency
|
||||
compilcations. */
|
||||
extern rtx function_arg
|
||||
PROTO ((CUMULATIVE_ARGS *, enum machine_mode, tree, int));
|
||||
extern int function_arg_partial_nregs
|
||||
PROTO ((CUMULATIVE_ARGS *, enum machine_mode, tree, int));
|
||||
extern void asm_file_start PROTO ((FILE *));
|
||||
extern void print_operand PROTO ((FILE *, rtx, int ));
|
||||
extern void print_operand_address PROTO ((FILE *, rtx));
|
||||
extern void v850_output_aligned_bss
|
||||
PROTO ((FILE *, tree, char *, int, int));
|
||||
extern void v850_output_common
|
||||
PROTO ((FILE *, tree, char *, int, int));
|
||||
extern void v850_output_local
|
||||
PROTO ((FILE *, tree, char *, int, int));
|
||||
extern int const_costs PROTO ((rtx, enum rtx_code));
|
||||
extern char * output_move_double PROTO ((rtx *));
|
||||
extern char * output_move_single PROTO ((rtx *));
|
||||
extern int ep_memory_operand
|
||||
PROTO ((rtx, enum machine_mode, int));
|
||||
extern int reg_or_0_operand PROTO ((rtx, enum machine_mode));
|
||||
extern int reg_or_int5_operand PROTO ((rtx, enum machine_mode));
|
||||
extern int call_address_operand PROTO ((rtx, enum machine_mode));
|
||||
extern int movsi_source_operand PROTO ((rtx, enum machine_mode));
|
||||
extern int power_of_two_operand PROTO ((rtx, enum machine_mode));
|
||||
extern int not_power_of_two_operand PROTO ((rtx, enum machine_mode));
|
||||
extern int special_symbolref_operand PROTO ((rtx, enum machine_mode));
|
||||
extern void v850_reorg PROTO ((rtx));
|
||||
extern void notice_update_cc PROTO ((rtx, rtx));
|
||||
extern int v850_valid_machine_decl_attribute
|
||||
PROTO ((tree, tree, tree));
|
||||
extern int v850_interrupt_function_p PROTO ((tree));
|
||||
extern int pattern_is_ok_for_prologue PROTO ((rtx, enum machine_mode));
|
||||
extern int pattern_is_ok_for_epilogue PROTO ((rtx, enum machine_mode));
|
||||
extern int register_is_ok_for_epilogue PROTO ((rtx, enum machine_mode));
|
||||
extern char * construct_save_jarl PROTO ((rtx));
|
||||
extern char * construct_restore_jr PROTO ((rtx));
|
||||
extern void v850_encode_data_area PROTO ((tree));
|
||||
extern void v850_set_default_decl_attr PROTO ((tree));
|
||||
|
||||
/* Function prototypes for stupid compilers: */
|
||||
static void const_double_split
|
||||
PROTO ((rtx, HOST_WIDE_INT *, HOST_WIDE_INT *));
|
||||
|
@ -3156,7 +3117,7 @@ rtx
|
|||
v850_va_arg (valist, type)
|
||||
tree valist, type;
|
||||
{
|
||||
HOST_WIDE_INT size, rsize, align;
|
||||
HOST_WIDE_INT size, rsize;
|
||||
tree addr, incr;
|
||||
rtx addr_rtx;
|
||||
int indirect;
|
||||
|
|
|
@ -387,7 +387,7 @@ extern struct small_memory_info small_memory[(int)SMALL_MEMORY_max];
|
|||
If HARD_REGNO_MODE_OK could produce different values for MODE1 and MODE2,
|
||||
for any hard reg, then this must be 0 for correct output. */
|
||||
#define MODES_TIEABLE_P(MODE1, MODE2) \
|
||||
(MODE1 == MODE2 || GET_MODE_SIZE (MODE1) <= 4 && GET_MODE_SIZE (MODE2) <= 4)
|
||||
(MODE1 == MODE2 || (GET_MODE_SIZE (MODE1) <= 4 && GET_MODE_SIZE (MODE2) <= 4))
|
||||
|
||||
|
||||
/* Define the classes of registers for register constraints in the
|
||||
|
@ -427,9 +427,10 @@ enum reg_class
|
|||
of length N_REG_CLASSES. */
|
||||
|
||||
#define REG_CLASS_CONTENTS \
|
||||
{ 0x00000000, /* No regs */ \
|
||||
0xffffffff, /* GENERAL_REGS */ \
|
||||
0xffffffff, /* ALL_REGS */ \
|
||||
{ \
|
||||
{ 0x00000000 }, /* NO_REGS */ \
|
||||
{ 0xffffffff }, /* GENERAL_REGS */ \
|
||||
{ 0xffffffff }, /* ALL_REGS */ \
|
||||
}
|
||||
|
||||
/* The same information, inverted:
|
||||
|
@ -886,7 +887,7 @@ extern int current_function_anonymous_args;
|
|||
register class that does not include r0 on the output. */
|
||||
|
||||
#define EXTRA_CONSTRAINT(OP, C) \
|
||||
((C) == 'Q' ? ep_memory_operand (OP, GET_MODE (OP)) \
|
||||
((C) == 'Q' ? ep_memory_operand (OP, GET_MODE (OP), 0) \
|
||||
: (C) == 'R' ? special_symbolref_operand (OP, VOIDmode) \
|
||||
: (C) == 'S' ? (GET_CODE (OP) == SYMBOL_REF && ! ZDA_NAME_P (XSTR (OP, 0))) \
|
||||
: (C) == 'T' ? 0 \
|
||||
|
@ -1412,7 +1413,7 @@ do { char dstr[30]; \
|
|||
(TARGET_BIG_SWITCH ? ".long" : ".short"), \
|
||||
VALUE, REL)
|
||||
|
||||
#define ASM_OUTPUT_ALIGN(FILE,LOG) \
|
||||
#define ASM_OUTPUT_ALIGN(FILE, LOG) \
|
||||
if ((LOG) != 0) \
|
||||
fprintf (FILE, "\t.align %d\n", (LOG))
|
||||
|
||||
|
@ -1574,11 +1575,13 @@ enum GHS_section_kind
|
|||
#define EP_REGNUM 30 /* ep register number */
|
||||
|
||||
#define ENCODE_SECTION_INFO(DECL) \
|
||||
do { \
|
||||
do \
|
||||
{ \
|
||||
if ((TREE_STATIC (DECL) || DECL_EXTERNAL (DECL)) \
|
||||
&& TREE_CODE (DECL) == VAR_DECL) \
|
||||
v850_encode_data_area (DECL); \
|
||||
} while (0)
|
||||
} \
|
||||
while (0)
|
||||
|
||||
#define ZDA_NAME_FLAG_CHAR '@'
|
||||
#define TDA_NAME_FLAG_CHAR '%'
|
||||
|
@ -1618,53 +1621,3 @@ do { \
|
|||
{ "register_is_ok_for_epilogue",{ REG }}, \
|
||||
{ "not_power_of_two_operand", { CONST_INT }},
|
||||
|
||||
/* Note, due to dependency and search path conflicts, prototypes
|
||||
involving the FILE, rtx or tree types cannot be included here.
|
||||
They are included at the start of v850.c */
|
||||
|
||||
extern void asm_file_start ();
|
||||
extern void print_operand ();
|
||||
extern void print_operand_address ();
|
||||
extern int function_arg_partial_nregs ();
|
||||
extern int const_costs ();
|
||||
extern char * output_move_double ();
|
||||
extern char * output_move_single ();
|
||||
extern int ep_memory_operand ();
|
||||
extern int reg_or_0_operand ();
|
||||
extern int reg_or_int5_operand ();
|
||||
extern int call_address_operand ();
|
||||
extern int movsi_source_operand ();
|
||||
extern int power_of_two_operand ();
|
||||
extern int not_power_of_two_operand ();
|
||||
extern int special_symbolref_operand ();
|
||||
extern void v850_reorg ();
|
||||
extern void notice_update_cc ();
|
||||
extern int v850_valid_machine_decl_attribute ();
|
||||
extern int v850_interrupt_function_p ();
|
||||
extern int pattern_is_ok_for_prologue ();
|
||||
extern int pattern_is_ok_for_epilogue ();
|
||||
extern int register_is_ok_for_epilogue ();
|
||||
extern char * construct_save_jarl ();
|
||||
extern char * construct_restore_jr ();
|
||||
|
||||
extern void override_options PROTO ((void));
|
||||
extern int compute_register_save_size PROTO ((long *));
|
||||
extern int compute_frame_size PROTO ((int, long *));
|
||||
extern void expand_prologue PROTO ((void));
|
||||
extern void expand_epilogue PROTO ((void));
|
||||
|
||||
extern void v850_output_aligned_bss ();
|
||||
extern void v850_output_common ();
|
||||
extern void v850_output_local ();
|
||||
extern void sdata_section PROTO ((void));
|
||||
extern void rosdata_section PROTO ((void));
|
||||
extern void sbss_section PROTO ((void));
|
||||
extern void tdata_section PROTO ((void));
|
||||
extern void zdata_section PROTO ((void));
|
||||
extern void rozdata_section PROTO ((void));
|
||||
extern void zbss_section PROTO ((void));
|
||||
extern int v850_handle_pragma PROTO ((int (*)(void), void (*)(int), char *));
|
||||
extern void v850_encode_data_area ();
|
||||
extern void v850_set_default_decl_attr ();
|
||||
extern v850_data_area v850_get_data_area ();
|
||||
extern struct rtx_def *v850_va_arg ();
|
||||
|
|
|
@ -159,7 +159,6 @@
|
|||
|| CONST_OK_FOR_K (INTVAL (operands[1]))
|
||||
|| CONST_OK_FOR_L (INTVAL (operands[1])))))
|
||||
{
|
||||
rtx high;
|
||||
rtx temp;
|
||||
|
||||
if (reload_in_progress || reload_completed)
|
||||
|
@ -950,7 +949,7 @@
|
|||
emit_insn (gen_addsi3 (reg, reg, tableaddress));
|
||||
/* Load the table entry. */
|
||||
mem = gen_rtx_MEM (CASE_VECTOR_MODE, reg);
|
||||
RTX_UNCHANGING_P (mem);
|
||||
RTX_UNCHANGING_P (mem) = 1;
|
||||
if (! TARGET_BIG_SWITCH)
|
||||
{
|
||||
rtx reg2 = gen_reg_rtx (HImode);
|
||||
|
@ -974,7 +973,7 @@
|
|||
""
|
||||
"
|
||||
{
|
||||
if (! call_address_operand (XEXP (operands[0], 0))
|
||||
if (! call_address_operand (XEXP (operands[0], 0), QImode)
|
||||
|| TARGET_LONG_CALLS)
|
||||
XEXP (operands[0], 0) = force_reg (SImode, XEXP (operands[0], 0));
|
||||
if (TARGET_LONG_CALLS)
|
||||
|
@ -1026,7 +1025,7 @@
|
|||
""
|
||||
"
|
||||
{
|
||||
if (! call_address_operand (XEXP (operands[1], 0))
|
||||
if (! call_address_operand (XEXP (operands[1], 0), QImode)
|
||||
|| TARGET_LONG_CALLS)
|
||||
XEXP (operands[1], 0) = force_reg (SImode, XEXP (operands[1], 0));
|
||||
if (TARGET_LONG_CALLS)
|
||||
|
|
Loading…
Add table
Reference in a new issue