alias.c: PROTO -> PARAMS.
* alias.c: PROTO -> PARAMS. * basic-block.h: Likewise. * bitmap.c: Likewise. * bitmap.h: Likewise. * builtins.c: Likewise. * c-aux-info.c: Likewise. * caller-save.c: Likewise. * calls.c: Likewise. From-SVN: r31338
This commit is contained in:
parent
d0af450df2
commit
3d994c6bef
@ -1,3 +1,14 @@
|
||||
2000-01-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* alias.c: PROTO -> PARAMS.
|
||||
* basic-block.h: Likewise.
|
||||
* bitmap.c: Likewise.
|
||||
* bitmap.h: Likewise.
|
||||
* builtins.c: Likewise.
|
||||
* c-aux-info.c: Likewise.
|
||||
* caller-save.c: Likewise.
|
||||
* calls.c: Likewise.
|
||||
|
||||
2000-01-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* Makefile.in (toplev.o): Depend on regs.h.
|
||||
|
41
gcc/alias.c
41
gcc/alias.c
@ -1,5 +1,5 @@
|
||||
/* Alias analysis for GNU C
|
||||
Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
Contributed by John Carr (jfc@mit.edu).
|
||||
|
||||
This file is part of GNU CC.
|
||||
@ -78,24 +78,23 @@ typedef struct alias_set_entry
|
||||
splay_tree children;
|
||||
} *alias_set_entry;
|
||||
|
||||
static rtx canon_rtx PROTO((rtx));
|
||||
static int rtx_equal_for_memref_p PROTO((rtx, rtx));
|
||||
static rtx find_symbolic_term PROTO((rtx));
|
||||
static int memrefs_conflict_p PROTO((int, rtx, int, rtx,
|
||||
HOST_WIDE_INT));
|
||||
static void record_set PROTO((rtx, rtx, void *));
|
||||
static rtx find_base_term PROTO((rtx));
|
||||
static int base_alias_check PROTO((rtx, rtx, enum machine_mode,
|
||||
enum machine_mode));
|
||||
static rtx find_base_value PROTO((rtx));
|
||||
static int mems_in_disjoint_alias_sets_p PROTO((rtx, rtx));
|
||||
static int insert_subset_children PROTO((splay_tree_node,
|
||||
void*));
|
||||
static alias_set_entry get_alias_set_entry PROTO((int));
|
||||
static rtx fixed_scalar_and_varying_struct_p PROTO((rtx, rtx, int (*)(rtx)));
|
||||
static int aliases_everything_p PROTO((rtx));
|
||||
static int write_dependence_p PROTO((rtx, rtx, int));
|
||||
static int nonlocal_reference_p PROTO((rtx));
|
||||
static rtx canon_rtx PARAMS ((rtx));
|
||||
static int rtx_equal_for_memref_p PARAMS ((rtx, rtx));
|
||||
static rtx find_symbolic_term PARAMS ((rtx));
|
||||
static int memrefs_conflict_p PARAMS ((int, rtx, int, rtx,
|
||||
HOST_WIDE_INT));
|
||||
static void record_set PARAMS ((rtx, rtx, void *));
|
||||
static rtx find_base_term PARAMS ((rtx));
|
||||
static int base_alias_check PARAMS ((rtx, rtx, enum machine_mode,
|
||||
enum machine_mode));
|
||||
static rtx find_base_value PARAMS ((rtx));
|
||||
static int mems_in_disjoint_alias_sets_p PARAMS ((rtx, rtx));
|
||||
static int insert_subset_children PARAMS ((splay_tree_node, void*));
|
||||
static alias_set_entry get_alias_set_entry PARAMS ((int));
|
||||
static rtx fixed_scalar_and_varying_struct_p PARAMS ((rtx, rtx, int (*)(rtx)));
|
||||
static int aliases_everything_p PARAMS ((rtx));
|
||||
static int write_dependence_p PARAMS ((rtx, rtx, int));
|
||||
static int nonlocal_reference_p PARAMS ((rtx));
|
||||
|
||||
/* Set up all info needed to perform alias analysis on memory references. */
|
||||
|
||||
@ -1192,7 +1191,7 @@ static rtx
|
||||
fixed_scalar_and_varying_struct_p (mem1, mem2, varies_p)
|
||||
rtx mem1;
|
||||
rtx mem2;
|
||||
int (*varies_p) PROTO((rtx));
|
||||
int (*varies_p) PARAMS ((rtx));
|
||||
{
|
||||
rtx mem1_addr = XEXP (mem1, 0);
|
||||
rtx mem2_addr = XEXP (mem2, 0);
|
||||
@ -1238,7 +1237,7 @@ true_dependence (mem, mem_mode, x, varies)
|
||||
rtx mem;
|
||||
enum machine_mode mem_mode;
|
||||
rtx x;
|
||||
int (*varies) PROTO((rtx));
|
||||
int (*varies) PARAMS ((rtx));
|
||||
{
|
||||
register rtx x_addr, mem_addr;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Define control and data flow tables, and regsets.
|
||||
Copyright (C) 1987, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1987, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
@ -211,18 +211,18 @@ extern varray_type basic_block_for_insn;
|
||||
#define BLOCK_FOR_INSN(INSN) VARRAY_BB (basic_block_for_insn, INSN_UID (INSN))
|
||||
#define BLOCK_NUM(INSN) (BLOCK_FOR_INSN (INSN)->index + 0)
|
||||
|
||||
extern void compute_bb_for_insn PROTO ((int));
|
||||
extern void set_block_for_insn PROTO ((rtx, basic_block));
|
||||
extern void set_block_num PROTO ((rtx, int));
|
||||
extern void compute_bb_for_insn PARAMS ((int));
|
||||
extern void set_block_for_insn PARAMS ((rtx, basic_block));
|
||||
extern void set_block_num PARAMS ((rtx, int));
|
||||
|
||||
extern void free_basic_block_vars PROTO ((int));
|
||||
extern void free_basic_block_vars PARAMS ((int));
|
||||
|
||||
extern basic_block split_edge PROTO ((edge));
|
||||
extern void insert_insn_on_edge PROTO ((rtx, edge));
|
||||
extern void commit_edge_insertions PROTO ((void));
|
||||
extern void remove_fake_edges PROTO ((void));
|
||||
extern void add_noreturn_fake_exit_edges PROTO ((void));
|
||||
extern void flow_delete_insn_chain PROTO((rtx, rtx));
|
||||
extern basic_block split_edge PARAMS ((edge));
|
||||
extern void insert_insn_on_edge PARAMS ((rtx, edge));
|
||||
extern void commit_edge_insertions PARAMS ((void));
|
||||
extern void remove_fake_edges PARAMS ((void));
|
||||
extern void add_noreturn_fake_exit_edges PARAMS ((void));
|
||||
extern void flow_delete_insn_chain PARAMS ((rtx, rtx));
|
||||
|
||||
|
||||
/* Structure to hold information for each natural loop. */
|
||||
@ -305,9 +305,9 @@ struct loops
|
||||
sbitmap shared_headers;
|
||||
};
|
||||
|
||||
extern int flow_loops_find PROTO ((struct loops *));
|
||||
extern void flow_loops_free PROTO ((struct loops *));
|
||||
extern void flow_loops_dump PROTO ((const struct loops *, FILE *, int));
|
||||
extern int flow_loops_find PARAMS ((struct loops *));
|
||||
extern void flow_loops_free PARAMS ((struct loops *));
|
||||
extern void flow_loops_dump PARAMS ((const struct loops *, FILE *, int));
|
||||
|
||||
|
||||
/* This structure maintains an edge list vector. */
|
||||
@ -336,15 +336,15 @@ struct edge_list
|
||||
/* Number of edges in the compressed edge list. */
|
||||
#define NUM_EDGES(el) ((el)->num_edges)
|
||||
|
||||
struct edge_list * create_edge_list PROTO ((void));
|
||||
void free_edge_list PROTO ((struct edge_list *));
|
||||
void print_edge_list PROTO ((FILE *, struct edge_list *));
|
||||
void verify_edge_list PROTO ((FILE *, struct edge_list *));
|
||||
int find_edge_index PROTO ((struct edge_list *,
|
||||
basic_block, basic_block));
|
||||
struct edge_list * create_edge_list PARAMS ((void));
|
||||
void free_edge_list PARAMS ((struct edge_list *));
|
||||
void print_edge_list PARAMS ((FILE *, struct edge_list *));
|
||||
void verify_edge_list PARAMS ((FILE *, struct edge_list *));
|
||||
int find_edge_index PARAMS ((struct edge_list *,
|
||||
basic_block, basic_block));
|
||||
|
||||
extern void compute_flow_dominators PROTO ((sbitmap *, sbitmap *));
|
||||
extern void compute_immediate_dominators PROTO ((int *, sbitmap *));
|
||||
extern void compute_flow_dominators PARAMS ((sbitmap *, sbitmap *));
|
||||
extern void compute_immediate_dominators PARAMS ((int *, sbitmap *));
|
||||
|
||||
|
||||
enum update_life_extent
|
||||
@ -364,24 +364,24 @@ enum update_life_extent
|
||||
#define PROP_AUTOINC 32 /* Create autoinc mem references. */
|
||||
#define PROP_FINAL 63 /* All of the above. */
|
||||
|
||||
extern void update_life_info PROTO ((sbitmap, enum update_life_extent,
|
||||
int));
|
||||
extern int count_or_remove_death_notes PROTO ((sbitmap, int));
|
||||
extern void update_life_info PARAMS ((sbitmap, enum update_life_extent,
|
||||
int));
|
||||
extern int count_or_remove_death_notes PARAMS ((sbitmap, int));
|
||||
|
||||
/* In lcm.c */
|
||||
extern struct edge_list *pre_edge_lcm PROTO ((FILE *, int, sbitmap *,
|
||||
sbitmap *, sbitmap *,
|
||||
sbitmap *, sbitmap **,
|
||||
sbitmap **));
|
||||
extern struct edge_list *pre_edge_rev_lcm PROTO ((FILE *, int, sbitmap *,
|
||||
sbitmap *, sbitmap *,
|
||||
sbitmap *, sbitmap **,
|
||||
sbitmap **));
|
||||
extern void compute_available PROTO ((sbitmap *, sbitmap *,
|
||||
sbitmap *, sbitmap *));
|
||||
extern struct edge_list *pre_edge_lcm PARAMS ((FILE *, int, sbitmap *,
|
||||
sbitmap *, sbitmap *,
|
||||
sbitmap *, sbitmap **,
|
||||
sbitmap **));
|
||||
extern struct edge_list *pre_edge_rev_lcm PARAMS ((FILE *, int, sbitmap *,
|
||||
sbitmap *, sbitmap *,
|
||||
sbitmap *, sbitmap **,
|
||||
sbitmap **));
|
||||
extern void compute_available PARAMS ((sbitmap *, sbitmap *,
|
||||
sbitmap *, sbitmap *));
|
||||
|
||||
/* In emit-rtl.c. */
|
||||
extern rtx emit_block_insn_after PROTO((rtx, rtx, basic_block));
|
||||
extern rtx emit_block_insn_before PROTO((rtx, rtx, basic_block));
|
||||
extern rtx emit_block_insn_after PARAMS ((rtx, rtx, basic_block));
|
||||
extern rtx emit_block_insn_before PARAMS ((rtx, rtx, basic_block));
|
||||
|
||||
#endif /* _BASIC_BLOCK_H */
|
||||
|
12
gcc/bitmap.c
12
gcc/bitmap.c
@ -1,5 +1,5 @@
|
||||
/* Functions to support general ended bitmaps.
|
||||
Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
@ -42,11 +42,11 @@ static int bitmap_obstack_init = FALSE;
|
||||
bitmap_element bitmap_zero; /* An element of all zero bits. */
|
||||
bitmap_element *bitmap_free; /* Freelist of bitmap elements. */
|
||||
|
||||
static void bitmap_element_free PROTO((bitmap, bitmap_element *));
|
||||
static bitmap_element *bitmap_element_allocate PROTO((void));
|
||||
static int bitmap_element_zerop PROTO((bitmap_element *));
|
||||
static void bitmap_element_link PROTO((bitmap, bitmap_element *));
|
||||
static bitmap_element *bitmap_find_bit PROTO((bitmap, unsigned int));
|
||||
static void bitmap_element_free PARAMS ((bitmap, bitmap_element *));
|
||||
static bitmap_element *bitmap_element_allocate PARAMS ((void));
|
||||
static int bitmap_element_zerop PARAMS ((bitmap_element *));
|
||||
static void bitmap_element_link PARAMS ((bitmap, bitmap_element *));
|
||||
static bitmap_element *bitmap_find_bit PARAMS ((bitmap, unsigned int));
|
||||
|
||||
/* Free a bitmap element */
|
||||
|
||||
|
30
gcc/bitmap.h
30
gcc/bitmap.h
@ -1,5 +1,5 @@
|
||||
/* Functions to support general ended bitmaps.
|
||||
Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
@ -67,44 +67,44 @@ extern bitmap_element *bitmap_free; /* Freelist of bitmap elements */
|
||||
extern bitmap_element bitmap_zero; /* Zero bitmap element */
|
||||
|
||||
/* Clear a bitmap by freeing up the linked list. */
|
||||
extern void bitmap_clear PROTO((bitmap));
|
||||
extern void bitmap_clear PARAMS ((bitmap));
|
||||
|
||||
/* Copy a bitmap to another bitmap. */
|
||||
extern void bitmap_copy PROTO((bitmap, bitmap));
|
||||
extern void bitmap_copy PARAMS ((bitmap, bitmap));
|
||||
|
||||
/* True if two bitmaps are identical. */
|
||||
extern int bitmap_equal_p PROTO((bitmap, bitmap));
|
||||
extern int bitmap_equal_p PARAMS ((bitmap, bitmap));
|
||||
|
||||
/* Perform an operation on two bitmaps, yielding a third. */
|
||||
extern int bitmap_operation PROTO((bitmap, bitmap, bitmap, enum bitmap_bits));
|
||||
extern int bitmap_operation PARAMS ((bitmap, bitmap, bitmap, enum bitmap_bits));
|
||||
|
||||
/* `or' into one bitmap the `and' of a second bitmap witih the complement
|
||||
of a third. */
|
||||
extern void bitmap_ior_and_compl PROTO((bitmap, bitmap, bitmap));
|
||||
extern void bitmap_ior_and_compl PARAMS ((bitmap, bitmap, bitmap));
|
||||
|
||||
/* Clear a single register in a register set. */
|
||||
extern void bitmap_clear_bit PROTO((bitmap, int));
|
||||
extern void bitmap_clear_bit PARAMS ((bitmap, int));
|
||||
|
||||
/* Set a single register in a register set. */
|
||||
extern void bitmap_set_bit PROTO((bitmap, int));
|
||||
extern void bitmap_set_bit PARAMS ((bitmap, int));
|
||||
|
||||
/* Return true if a register is set in a register set. */
|
||||
extern int bitmap_bit_p PROTO((bitmap, int));
|
||||
extern int bitmap_bit_p PARAMS ((bitmap, int));
|
||||
|
||||
/* Debug functions to print a bitmap linked list. */
|
||||
extern void debug_bitmap PROTO((bitmap));
|
||||
extern void debug_bitmap_file PROTO((FILE *, bitmap));
|
||||
extern void debug_bitmap PARAMS ((bitmap));
|
||||
extern void debug_bitmap_file PARAMS ((FILE *, bitmap));
|
||||
|
||||
/* Print a bitmap */
|
||||
extern void bitmap_print PROTO((FILE *, bitmap, const char *, const char *));
|
||||
extern void bitmap_print PARAMS ((FILE *, bitmap, const char *, const char *));
|
||||
|
||||
/* Initialize a bitmap header. */
|
||||
extern bitmap bitmap_initialize PROTO((bitmap));
|
||||
extern bitmap bitmap_initialize PARAMS ((bitmap));
|
||||
|
||||
/* Release all memory held by bitmaps. */
|
||||
extern void bitmap_release_memory PROTO((void));
|
||||
extern void bitmap_release_memory PARAMS ((void));
|
||||
|
||||
extern void debug_bitmap PROTO((bitmap));
|
||||
extern void debug_bitmap PARAMS ((bitmap));
|
||||
|
||||
/* Allocate a bitmap with oballoc. */
|
||||
#define BITMAP_OBSTACK_ALLOC(OBSTACK) \
|
||||
|
@ -51,40 +51,40 @@ Boston, MA 02111-1307, USA. */
|
||||
#define OUTGOING_REGNO(IN) (IN)
|
||||
#endif
|
||||
|
||||
tree (*lang_type_promotes_to) PROTO((tree));
|
||||
tree (*lang_type_promotes_to) PARAMS ((tree));
|
||||
|
||||
static int get_pointer_alignment PROTO((tree, unsigned));
|
||||
static tree c_strlen PROTO((tree));
|
||||
static rtx get_memory_rtx PROTO((tree));
|
||||
static int apply_args_size PROTO((void));
|
||||
static int apply_result_size PROTO((void));
|
||||
static int get_pointer_alignment PARAMS ((tree, unsigned));
|
||||
static tree c_strlen PARAMS ((tree));
|
||||
static rtx get_memory_rtx PARAMS ((tree));
|
||||
static int apply_args_size PARAMS ((void));
|
||||
static int apply_result_size PARAMS ((void));
|
||||
#if defined (HAVE_untyped_call) || defined (HAVE_untyped_return)
|
||||
static rtx result_vector PROTO((int, rtx));
|
||||
static rtx result_vector PARAMS ((int, rtx));
|
||||
#endif
|
||||
static rtx expand_builtin_apply_args PROTO((void));
|
||||
static rtx expand_builtin_apply_args_1 PROTO((void));
|
||||
static rtx expand_builtin_apply PROTO((rtx, rtx, rtx));
|
||||
static void expand_builtin_return PROTO((rtx));
|
||||
static rtx expand_builtin_classify_type PROTO((tree));
|
||||
static rtx expand_builtin_mathfn PROTO((tree, rtx, rtx));
|
||||
static rtx expand_builtin_constant_p PROTO((tree));
|
||||
static rtx expand_builtin_args_info PROTO((tree));
|
||||
static rtx expand_builtin_next_arg PROTO((tree));
|
||||
static rtx expand_builtin_va_start PROTO((int, tree));
|
||||
static rtx expand_builtin_va_end PROTO((tree));
|
||||
static rtx expand_builtin_va_copy PROTO((tree));
|
||||
static rtx expand_builtin_apply_args PARAMS ((void));
|
||||
static rtx expand_builtin_apply_args_1 PARAMS ((void));
|
||||
static rtx expand_builtin_apply PARAMS ((rtx, rtx, rtx));
|
||||
static void expand_builtin_return PARAMS ((rtx));
|
||||
static rtx expand_builtin_classify_type PARAMS ((tree));
|
||||
static rtx expand_builtin_mathfn PARAMS ((tree, rtx, rtx));
|
||||
static rtx expand_builtin_constant_p PARAMS ((tree));
|
||||
static rtx expand_builtin_args_info PARAMS ((tree));
|
||||
static rtx expand_builtin_next_arg PARAMS ((tree));
|
||||
static rtx expand_builtin_va_start PARAMS ((int, tree));
|
||||
static rtx expand_builtin_va_end PARAMS ((tree));
|
||||
static rtx expand_builtin_va_copy PARAMS ((tree));
|
||||
#ifdef HAVE_cmpstrsi
|
||||
static rtx expand_builtin_memcmp PROTO((tree, tree, rtx));
|
||||
static rtx expand_builtin_strcmp PROTO((tree, rtx));
|
||||
static rtx expand_builtin_memcmp PARAMS ((tree, tree, rtx));
|
||||
static rtx expand_builtin_strcmp PARAMS ((tree, rtx));
|
||||
#endif
|
||||
static rtx expand_builtin_memcpy PROTO((tree));
|
||||
static rtx expand_builtin_strcpy PROTO((tree));
|
||||
static rtx expand_builtin_memset PROTO((tree));
|
||||
static rtx expand_builtin_strlen PROTO((tree, rtx, enum machine_mode));
|
||||
static rtx expand_builtin_alloca PROTO((tree, rtx));
|
||||
static rtx expand_builtin_ffs PROTO((tree, rtx, rtx));
|
||||
static rtx expand_builtin_frame_address PROTO((tree));
|
||||
static tree stabilize_va_list PROTO((tree, int));
|
||||
static rtx expand_builtin_memcpy PARAMS ((tree));
|
||||
static rtx expand_builtin_strcpy PARAMS ((tree));
|
||||
static rtx expand_builtin_memset PARAMS ((tree));
|
||||
static rtx expand_builtin_strlen PARAMS ((tree, rtx, enum machine_mode));
|
||||
static rtx expand_builtin_alloca PARAMS ((tree, rtx));
|
||||
static rtx expand_builtin_ffs PARAMS ((tree, rtx, rtx));
|
||||
static rtx expand_builtin_frame_address PARAMS ((tree));
|
||||
static tree stabilize_va_list PARAMS ((tree, int));
|
||||
|
||||
/* Return the alignment in bits of EXP, a pointer valued expression.
|
||||
But don't return more than MAX_ALIGN no matter what.
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* Generate information regarding function declarations and definitions based
|
||||
on information stored in GCC's tree structure. This code implements the
|
||||
-aux-info option.
|
||||
Copyright (C) 1989, 91, 94, 95, 97-98, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1989, 91, 94, 95, 97-99, 2000 Free Software Foundation, Inc.
|
||||
Contributed by Ron Guilmette (rfg@segfault.us.com).
|
||||
|
||||
This file is part of GNU CC.
|
||||
@ -38,12 +38,12 @@ typedef enum formals_style_enum formals_style;
|
||||
|
||||
static const char *data_type;
|
||||
|
||||
static char *affix_data_type PROTO((const char *));
|
||||
static const char *gen_formal_list_for_type PROTO((tree, formals_style));
|
||||
static int deserves_ellipsis PROTO((tree));
|
||||
static const char *gen_formal_list_for_func_def PROTO((tree, formals_style));
|
||||
static const char *gen_type PROTO((const char *, tree, formals_style));
|
||||
static const char *gen_decl PROTO((tree, int, formals_style));
|
||||
static char *affix_data_type PARAMS ((const char *));
|
||||
static const char *gen_formal_list_for_type PARAMS ((tree, formals_style));
|
||||
static int deserves_ellipsis PARAMS ((tree));
|
||||
static const char *gen_formal_list_for_func_def PARAMS ((tree, formals_style));
|
||||
static const char *gen_type PARAMS ((const char *, tree, formals_style));
|
||||
static const char *gen_decl PARAMS ((tree, int, formals_style));
|
||||
|
||||
/* Given a string representing an entire type or an entire declaration
|
||||
which only lacks the actual "data-type" specifier (at its left end),
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Save and restore call-clobbered registers which are live across a call.
|
||||
Copyright (C) 1989, 92, 94, 95, 97, 98, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1989, 92, 94, 95, 97-99, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
@ -84,14 +84,14 @@ static HARD_REG_SET referenced_regs;
|
||||
static HARD_REG_SET this_insn_sets;
|
||||
|
||||
|
||||
static void mark_set_regs PROTO((rtx, rtx, void *));
|
||||
static void mark_referenced_regs PROTO((rtx));
|
||||
static int insert_save PROTO((struct insn_chain *, int, int,
|
||||
HARD_REG_SET *));
|
||||
static int insert_restore PROTO((struct insn_chain *, int, int,
|
||||
int));
|
||||
static struct insn_chain *insert_one_insn PROTO((struct insn_chain *, int,
|
||||
enum insn_code, rtx));
|
||||
static void mark_set_regs PARAMS ((rtx, rtx, void *));
|
||||
static void mark_referenced_regs PARAMS ((rtx));
|
||||
static int insert_save PARAMS ((struct insn_chain *, int, int,
|
||||
HARD_REG_SET *));
|
||||
static int insert_restore PARAMS ((struct insn_chain *, int, int,
|
||||
int));
|
||||
static struct insn_chain *insert_one_insn PARAMS ((struct insn_chain *, int,
|
||||
enum insn_code, rtx));
|
||||
|
||||
/* Initialize for caller-save.
|
||||
|
||||
|
75
gcc/calls.c
75
gcc/calls.c
@ -129,41 +129,42 @@ static int highest_outgoing_arg_in_use;
|
||||
int stack_arg_under_construction;
|
||||
#endif
|
||||
|
||||
static int calls_function PROTO ((tree, int));
|
||||
static int calls_function_1 PROTO ((tree, int));
|
||||
static void emit_call_1 PROTO ((rtx, tree, tree, HOST_WIDE_INT,
|
||||
HOST_WIDE_INT, HOST_WIDE_INT, rtx,
|
||||
rtx, int, rtx, int));
|
||||
static void precompute_register_parameters PROTO ((int, struct arg_data *,
|
||||
int *));
|
||||
static void store_one_arg PROTO ((struct arg_data *, rtx, int, int,
|
||||
int));
|
||||
static void store_unaligned_arguments_into_pseudos PROTO ((struct arg_data *,
|
||||
int));
|
||||
static int finalize_must_preallocate PROTO ((int, int,
|
||||
struct arg_data *,
|
||||
struct args_size *));
|
||||
static void precompute_arguments PROTO ((int, int, int,
|
||||
struct arg_data *,
|
||||
struct args_size *));
|
||||
static int compute_argument_block_size PROTO ((int,
|
||||
struct args_size *));
|
||||
static void initialize_argument_information PROTO ((int,
|
||||
struct arg_data *,
|
||||
struct args_size *,
|
||||
int, tree, tree,
|
||||
CUMULATIVE_ARGS *,
|
||||
int, rtx *, int *,
|
||||
int *, int *));
|
||||
static void compute_argument_addresses PROTO ((struct arg_data *,
|
||||
rtx, int));
|
||||
static rtx rtx_for_function_call PROTO ((tree, tree));
|
||||
static void load_register_parameters PROTO ((struct arg_data *,
|
||||
int, rtx *));
|
||||
static int calls_function PARAMS ((tree, int));
|
||||
static int calls_function_1 PARAMS ((tree, int));
|
||||
static void emit_call_1 PARAMS ((rtx, tree, tree, HOST_WIDE_INT,
|
||||
HOST_WIDE_INT, HOST_WIDE_INT, rtx,
|
||||
rtx, int, rtx, int));
|
||||
static void precompute_register_parameters PARAMS ((int,
|
||||
struct arg_data *,
|
||||
int *));
|
||||
static void store_one_arg PARAMS ((struct arg_data *, rtx, int, int,
|
||||
int));
|
||||
static void store_unaligned_arguments_into_pseudos PARAMS ((struct arg_data *,
|
||||
int));
|
||||
static int finalize_must_preallocate PARAMS ((int, int,
|
||||
struct arg_data *,
|
||||
struct args_size *));
|
||||
static void precompute_arguments PARAMS ((int, int, int,
|
||||
struct arg_data *,
|
||||
struct args_size *));
|
||||
static int compute_argument_block_size PARAMS ((int,
|
||||
struct args_size *));
|
||||
static void initialize_argument_information PARAMS ((int,
|
||||
struct arg_data *,
|
||||
struct args_size *,
|
||||
int, tree, tree,
|
||||
CUMULATIVE_ARGS *,
|
||||
int, rtx *, int *,
|
||||
int *, int *));
|
||||
static void compute_argument_addresses PARAMS ((struct arg_data *,
|
||||
rtx, int));
|
||||
static rtx rtx_for_function_call PARAMS ((tree, tree));
|
||||
static void load_register_parameters PARAMS ((struct arg_data *,
|
||||
int, rtx *));
|
||||
|
||||
#if defined(ACCUMULATE_OUTGOING_ARGS) && defined(REG_PARM_STACK_SPACE)
|
||||
static rtx save_fixed_argument_area PROTO ((int, rtx, int *, int *));
|
||||
static void restore_fixed_argument_area PROTO ((rtx, rtx, int, int));
|
||||
static rtx save_fixed_argument_area PARAMS ((int, rtx, int *, int *));
|
||||
static void restore_fixed_argument_area PARAMS ((rtx, rtx, int, int));
|
||||
#endif
|
||||
|
||||
/* If WHICH is 1, return 1 if EXP contains a call to the built-in function
|
||||
@ -2590,8 +2591,8 @@ expand_call (exp, target, ignore)
|
||||
move memory references across the non-const call. */
|
||||
|
||||
void
|
||||
emit_library_call VPROTO((rtx orgfun, int no_queue, enum machine_mode outmode,
|
||||
int nargs, ...))
|
||||
emit_library_call VPARAMS((rtx orgfun, int no_queue, enum machine_mode outmode,
|
||||
int nargs, ...))
|
||||
{
|
||||
#ifndef ANSI_PROTOTYPES
|
||||
rtx orgfun;
|
||||
@ -3087,8 +3088,8 @@ emit_library_call VPROTO((rtx orgfun, int no_queue, enum machine_mode outmode,
|
||||
If VALUE is nonzero, VALUE is returned. */
|
||||
|
||||
rtx
|
||||
emit_library_call_value VPROTO((rtx orgfun, rtx value, int no_queue,
|
||||
enum machine_mode outmode, int nargs, ...))
|
||||
emit_library_call_value VPARAMS((rtx orgfun, rtx value, int no_queue,
|
||||
enum machine_mode outmode, int nargs, ...))
|
||||
{
|
||||
#ifndef ANSI_PROTOTYPES
|
||||
rtx orgfun;
|
||||
|
Loading…
Reference in New Issue
Block a user