diff options
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r-- | gcc/rtl.h | 925 |
1 files changed, 439 insertions, 486 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h index 827b178d58b..10b4d5be4cc 100644 --- a/gcc/rtl.h +++ b/gcc/rtl.h @@ -339,23 +339,23 @@ struct rtvec_def GTY(()) { __FUNCTION__); \ &_rtvec->elem[_i]; })) -extern void rtl_check_failed_bounds PARAMS ((rtx, int, - const char *, int, const char *)) +extern void rtl_check_failed_bounds (rtx, int, const char *, int, + const char *) ATTRIBUTE_NORETURN; -extern void rtl_check_failed_type1 PARAMS ((rtx, int, int, - const char *, int, const char *)) +extern void rtl_check_failed_type1 (rtx, int, int, const char *, int, + const char *) ATTRIBUTE_NORETURN; -extern void rtl_check_failed_type2 PARAMS ((rtx, int, int, int, - const char *, int, const char *)) +extern void rtl_check_failed_type2 (rtx, int, int, int, const char *, + int, const char *) ATTRIBUTE_NORETURN; -extern void rtl_check_failed_code1 PARAMS ((rtx, enum rtx_code, - const char *, int, const char *)) +extern void rtl_check_failed_code1 (rtx, enum rtx_code, const char *, + int, const char *) ATTRIBUTE_NORETURN; -extern void rtl_check_failed_code2 PARAMS ((rtx, enum rtx_code, enum rtx_code, - const char *, int, const char *)) +extern void rtl_check_failed_code2 (rtx, enum rtx_code, enum rtx_code, + const char *, int, const char *) ATTRIBUTE_NORETURN; -extern void rtvec_check_failed_bounds PARAMS ((rtvec, int, - const char *, int, const char *)) +extern void rtvec_check_failed_bounds (rtvec, int, const char *, int, + const char *) ATTRIBUTE_NORETURN; #else /* not ENABLE_RTL_CHECKING */ @@ -445,8 +445,8 @@ extern void rtvec_check_failed_bounds PARAMS ((rtvec, int, __FUNCTION__); \ _rtx; }) -extern void rtl_check_failed_flag PARAMS ((const char *, rtx, const char *, - int, const char *)) +extern void rtl_check_failed_flag (const char *, rtx, const char *, + int, const char *) ATTRIBUTE_NORETURN ; @@ -1031,16 +1031,12 @@ enum label_kind #define SUBREG_BYTE(RTX) XCUINT (RTX, 1, SUBREG) /* in rtlanal.c */ -extern unsigned int subreg_lsb PARAMS ((rtx)); -extern unsigned int subreg_regno_offset PARAMS ((unsigned int, - enum machine_mode, - unsigned int, - enum machine_mode)); -extern bool subreg_offset_representable_p PARAMS ((unsigned int, - enum machine_mode, - unsigned int, - enum machine_mode)); -extern unsigned int subreg_regno PARAMS ((rtx)); +extern unsigned int subreg_lsb (rtx); +extern unsigned int subreg_regno_offset (unsigned int, enum machine_mode, + unsigned int, enum machine_mode); +extern bool subreg_offset_representable_p (unsigned int, enum machine_mode, + unsigned int, enum machine_mode); +extern unsigned int subreg_regno (rtx); /* 1 if RTX is a subreg containing a reg that is already known to be sign- or zero-extended from the mode of the subreg to the mode of @@ -1398,7 +1394,7 @@ extern int generating_concat_p; /* Generally useful functions. */ /* In expmed.c */ -extern int ceil_log2 PARAMS ((unsigned HOST_WIDE_INT)); +extern int ceil_log2 (unsigned HOST_WIDE_INT); #define plus_constant(X, C) plus_constant_wide ((X), (HOST_WIDE_INT) (C)) @@ -1407,237 +1403,211 @@ extern rtx expand_builtin_expect_jump (tree, rtx, rtx); extern void purge_builtin_constant_p (void); /* In explow.c */ -extern void set_stack_check_libfunc PARAMS ((rtx)); -extern HOST_WIDE_INT trunc_int_for_mode PARAMS ((HOST_WIDE_INT, - enum machine_mode)); -extern rtx plus_constant_wide PARAMS ((rtx, HOST_WIDE_INT)); -extern rtx plus_constant_for_output_wide PARAMS ((rtx, HOST_WIDE_INT)); -extern void optimize_save_area_alloca PARAMS ((rtx)); +extern void set_stack_check_libfunc (rtx); +extern HOST_WIDE_INT trunc_int_for_mode (HOST_WIDE_INT, enum machine_mode); +extern rtx plus_constant_wide (rtx, HOST_WIDE_INT); +extern rtx plus_constant_for_output_wide (rtx, HOST_WIDE_INT); +extern void optimize_save_area_alloca (rtx); /* In emit-rtl.c */ -extern rtx gen_rtx PARAMS ((enum rtx_code, - enum machine_mode, ...)); -extern rtvec gen_rtvec PARAMS ((int, ...)); -extern rtx copy_insn_1 PARAMS ((rtx)); -extern rtx copy_insn PARAMS ((rtx)); -extern rtx gen_int_mode PARAMS ((HOST_WIDE_INT, - enum machine_mode)); -extern rtx emit_copy_of_insn_after PARAMS ((rtx, rtx)); -extern void set_reg_attrs_from_mem PARAMS ((rtx, rtx)); -extern void set_mem_attrs_from_reg PARAMS ((rtx, rtx)); -extern void set_reg_attrs_for_parm PARAMS ((rtx, rtx)); +extern rtx gen_rtx (enum rtx_code, enum machine_mode, ...); +extern rtvec gen_rtvec (int, ...); +extern rtx copy_insn_1 (rtx); +extern rtx copy_insn (rtx); +extern rtx gen_int_mode (HOST_WIDE_INT, enum machine_mode); +extern rtx emit_copy_of_insn_after (rtx, rtx); +extern void set_reg_attrs_from_mem (rtx, rtx); +extern void set_mem_attrs_from_reg (rtx, rtx); +extern void set_reg_attrs_for_parm (rtx, rtx); /* In rtl.c */ -extern rtx rtx_alloc PARAMS ((RTX_CODE)); -extern rtvec rtvec_alloc PARAMS ((int)); -extern rtx copy_rtx PARAMS ((rtx)); +extern rtx rtx_alloc (RTX_CODE); +extern rtvec rtvec_alloc (int); +extern rtx copy_rtx (rtx); /* In emit-rtl.c */ -extern rtx copy_rtx_if_shared PARAMS ((rtx)); +extern rtx copy_rtx_if_shared (rtx); /* In rtl.c */ -extern rtx copy_most_rtx PARAMS ((rtx, rtx)); -extern rtx shallow_copy_rtx PARAMS ((rtx)); -extern int rtx_equal_p PARAMS ((rtx, rtx)); +extern rtx copy_most_rtx (rtx, rtx); +extern rtx shallow_copy_rtx (rtx); +extern int rtx_equal_p (rtx, rtx); /* In emit-rtl.c */ -extern rtvec gen_rtvec_v PARAMS ((int, rtx *)); -extern rtx gen_reg_rtx PARAMS ((enum machine_mode)); -extern rtx gen_rtx_REG_offset PARAMS ((rtx, enum machine_mode, - unsigned int, int)); -extern rtx gen_label_rtx PARAMS ((void)); -extern int subreg_hard_regno PARAMS ((rtx, int)); -extern rtx gen_lowpart_common PARAMS ((enum machine_mode, rtx)); -extern rtx gen_lowpart PARAMS ((enum machine_mode, rtx)); +extern rtvec gen_rtvec_v (int, rtx *); +extern rtx gen_reg_rtx (enum machine_mode); +extern rtx gen_rtx_REG_offset (rtx, enum machine_mode, unsigned int, int); +extern rtx gen_label_rtx (void); +extern int subreg_hard_regno (rtx, int); +extern rtx gen_lowpart_common (enum machine_mode, rtx); +extern rtx gen_lowpart (enum machine_mode, rtx); /* In cse.c */ -extern rtx gen_lowpart_if_possible PARAMS ((enum machine_mode, rtx)); +extern rtx gen_lowpart_if_possible (enum machine_mode, rtx); /* In emit-rtl.c */ -extern rtx gen_highpart PARAMS ((enum machine_mode, rtx)); -extern rtx gen_highpart_mode PARAMS ((enum machine_mode, - enum machine_mode, rtx)); -extern rtx gen_realpart PARAMS ((enum machine_mode, rtx)); -extern rtx gen_imagpart PARAMS ((enum machine_mode, rtx)); -extern rtx operand_subword PARAMS ((rtx, unsigned int, int, - enum machine_mode)); -extern rtx constant_subword PARAMS ((rtx, int, - enum machine_mode)); +extern rtx gen_highpart (enum machine_mode, rtx); +extern rtx gen_highpart_mode (enum machine_mode, enum machine_mode, rtx); +extern rtx gen_realpart (enum machine_mode, rtx); +extern rtx gen_imagpart (enum machine_mode, rtx); +extern rtx operand_subword (rtx, unsigned int, int, enum machine_mode); +extern rtx constant_subword (rtx, int, enum machine_mode); /* In emit-rtl.c */ -extern rtx operand_subword_force PARAMS ((rtx, unsigned int, - enum machine_mode)); -extern int subreg_lowpart_p PARAMS ((rtx)); -extern unsigned int subreg_lowpart_offset PARAMS ((enum machine_mode, - enum machine_mode)); -extern unsigned int subreg_highpart_offset PARAMS ((enum machine_mode, - enum machine_mode)); -extern rtx make_safe_from PARAMS ((rtx, rtx)); -extern rtx convert_memory_address PARAMS ((enum machine_mode, rtx)); -extern rtx get_insns PARAMS ((void)); -extern const char *get_insn_name PARAMS ((int)); -extern rtx get_last_insn PARAMS ((void)); -extern rtx get_last_insn_anywhere PARAMS ((void)); -extern rtx get_first_nonnote_insn PARAMS ((void)); -extern rtx get_last_nonnote_insn PARAMS ((void)); -extern void start_sequence PARAMS ((void)); -extern void push_to_sequence PARAMS ((rtx)); -extern void end_sequence PARAMS ((void)); -extern void push_to_full_sequence PARAMS ((rtx, rtx)); -extern void end_full_sequence PARAMS ((rtx*, rtx*)); +extern rtx operand_subword_force (rtx, unsigned int, enum machine_mode); +extern int subreg_lowpart_p (rtx); +extern unsigned int subreg_lowpart_offset (enum machine_mode, + enum machine_mode); +extern unsigned int subreg_highpart_offset (enum machine_mode, + enum machine_mode); +extern rtx make_safe_from (rtx, rtx); +extern rtx convert_memory_address (enum machine_mode, rtx); +extern rtx get_insns (void); +extern const char *get_insn_name (int); +extern rtx get_last_insn (void); +extern rtx get_last_insn_anywhere (void); +extern rtx get_first_nonnote_insn (void); +extern rtx get_last_nonnote_insn (void); +extern void start_sequence (void); +extern void push_to_sequence (rtx); +extern void end_sequence (void); +extern void push_to_full_sequence (rtx, rtx); +extern void end_full_sequence (rtx*, rtx*); /* In varasm.c */ -extern rtx immed_double_const PARAMS ((HOST_WIDE_INT, HOST_WIDE_INT, enum machine_mode)); -extern rtx mem_for_const_double PARAMS ((rtx)); -extern rtx force_const_mem PARAMS ((enum machine_mode, rtx)); +extern rtx immed_double_const (HOST_WIDE_INT, HOST_WIDE_INT, + enum machine_mode); +extern rtx mem_for_const_double (rtx); +extern rtx force_const_mem (enum machine_mode, rtx); /* In varasm.c */ -extern rtx get_pool_constant PARAMS ((rtx)); -extern rtx get_pool_constant_mark PARAMS ((rtx, bool *)); -extern enum machine_mode get_pool_mode PARAMS ((rtx)); -extern rtx get_pool_constant_for_function PARAMS ((struct function *, rtx)); -extern enum machine_mode get_pool_mode_for_function PARAMS ((struct function *, rtx)); -extern int get_pool_offset PARAMS ((rtx)); -extern rtx simplify_subtraction PARAMS ((rtx)); +extern rtx get_pool_constant (rtx); +extern rtx get_pool_constant_mark (rtx, bool *); +extern enum machine_mode get_pool_mode (rtx); +extern rtx get_pool_constant_for_function (struct function *, rtx); +extern enum machine_mode get_pool_mode_for_function (struct function *, rtx); +extern int get_pool_offset (rtx); +extern rtx simplify_subtraction (rtx); /* In function.c */ -extern rtx assign_stack_local PARAMS ((enum machine_mode, - HOST_WIDE_INT, int)); -extern rtx assign_stack_temp PARAMS ((enum machine_mode, - HOST_WIDE_INT, int)); -extern rtx assign_stack_temp_for_type PARAMS ((enum machine_mode, - HOST_WIDE_INT, int, tree)); -extern rtx assign_temp PARAMS ((tree, int, int, int)); +extern rtx assign_stack_local (enum machine_mode, HOST_WIDE_INT, int); +extern rtx assign_stack_temp (enum machine_mode, HOST_WIDE_INT, int); +extern rtx assign_stack_temp_for_type (enum machine_mode, + HOST_WIDE_INT, int, tree); +extern rtx assign_temp (tree, int, int, int); /* In emit-rtl.c */ -extern rtx emit_insn_before PARAMS ((rtx, rtx)); -extern rtx emit_insn_before_setloc PARAMS ((rtx, rtx, int)); -extern rtx emit_jump_insn_before PARAMS ((rtx, rtx)); -extern rtx emit_jump_insn_before_setloc PARAMS ((rtx, rtx, int)); -extern rtx emit_call_insn_before PARAMS ((rtx, rtx)); -extern rtx emit_call_insn_before_setloc PARAMS ((rtx, rtx, int)); -extern rtx emit_barrier_before PARAMS ((rtx)); -extern rtx emit_label_before PARAMS ((rtx, rtx)); -extern rtx emit_note_before PARAMS ((int, rtx)); -extern rtx emit_insn_after PARAMS ((rtx, rtx)); -extern rtx emit_insn_after_setloc PARAMS ((rtx, rtx, int)); -extern rtx emit_jump_insn_after PARAMS ((rtx, rtx)); -extern rtx emit_jump_insn_after_setloc PARAMS ((rtx, rtx, int)); -extern rtx emit_call_insn_after PARAMS ((rtx, rtx)); -extern rtx emit_call_insn_after_setloc PARAMS ((rtx, rtx, int)); -extern rtx emit_barrier_after PARAMS ((rtx)); -extern rtx emit_label_after PARAMS ((rtx, rtx)); -extern rtx emit_note_after PARAMS ((int, rtx)); -extern rtx emit_note_copy_after PARAMS ((rtx, rtx)); -extern rtx emit_insn PARAMS ((rtx)); -extern rtx emit_jump_insn PARAMS ((rtx)); -extern rtx emit_call_insn PARAMS ((rtx)); -extern rtx emit_label PARAMS ((rtx)); -extern rtx emit_barrier PARAMS ((void)); -extern rtx emit_note PARAMS ((int)); -extern rtx emit_note_copy PARAMS ((rtx)); -extern rtx emit_line_note PARAMS ((const char *, int)); -extern rtx emit_line_note_force PARAMS ((const char *, int)); -extern rtx make_insn_raw PARAMS ((rtx)); -extern void add_function_usage_to PARAMS ((rtx, rtx)); -extern rtx last_call_insn PARAMS ((void)); -extern rtx previous_insn PARAMS ((rtx)); -extern rtx next_insn PARAMS ((rtx)); -extern rtx prev_nonnote_insn PARAMS ((rtx)); -extern rtx next_nonnote_insn PARAMS ((rtx)); -extern rtx prev_real_insn PARAMS ((rtx)); -extern rtx next_real_insn PARAMS ((rtx)); -extern rtx prev_active_insn PARAMS ((rtx)); -extern rtx next_active_insn PARAMS ((rtx)); -extern int active_insn_p PARAMS ((rtx)); -extern rtx prev_label PARAMS ((rtx)); -extern rtx next_label PARAMS ((rtx)); -extern rtx next_cc0_user PARAMS ((rtx)); -extern rtx prev_cc0_setter PARAMS ((rtx)); +extern rtx emit_insn_before (rtx, rtx); +extern rtx emit_insn_before_setloc (rtx, rtx, int); +extern rtx emit_jump_insn_before (rtx, rtx); +extern rtx emit_jump_insn_before_setloc (rtx, rtx, int); +extern rtx emit_call_insn_before (rtx, rtx); +extern rtx emit_call_insn_before_setloc (rtx, rtx, int); +extern rtx emit_barrier_before (rtx); +extern rtx emit_label_before (rtx, rtx); +extern rtx emit_note_before (int, rtx); +extern rtx emit_insn_after (rtx, rtx); +extern rtx emit_insn_after_setloc (rtx, rtx, int); +extern rtx emit_jump_insn_after (rtx, rtx); +extern rtx emit_jump_insn_after_setloc (rtx, rtx, int); +extern rtx emit_call_insn_after (rtx, rtx); +extern rtx emit_call_insn_after_setloc (rtx, rtx, int); +extern rtx emit_barrier_after (rtx); +extern rtx emit_label_after (rtx, rtx); +extern rtx emit_note_after (int, rtx); +extern rtx emit_note_copy_after (rtx, rtx); +extern rtx emit_insn (rtx); +extern rtx emit_jump_insn (rtx); +extern rtx emit_call_insn (rtx); +extern rtx emit_label (rtx); +extern rtx emit_barrier (void); +extern rtx emit_note (int); +extern rtx emit_note_copy (rtx); +extern rtx emit_line_note (const char *, int); +extern rtx emit_line_note_force (const char *, int); +extern rtx make_insn_raw (rtx); +extern void add_function_usage_to (rtx, rtx); +extern rtx last_call_insn (void); +extern rtx previous_insn (rtx); +extern rtx next_insn (rtx); +extern rtx prev_nonnote_insn (rtx); +extern rtx next_nonnote_insn (rtx); +extern rtx prev_real_insn (rtx); +extern rtx next_real_insn (rtx); +extern rtx prev_active_insn (rtx); +extern rtx next_active_insn (rtx); +extern int active_insn_p (rtx); +extern rtx prev_label (rtx); +extern rtx next_label (rtx); +extern rtx next_cc0_user (rtx); +extern rtx prev_cc0_setter (rtx); /* In cfglayout.c */ -extern tree choose_inner_scope PARAMS ((tree, tree)); -extern int insn_line PARAMS ((rtx)); -extern const char * insn_file PARAMS ((rtx)); +extern tree choose_inner_scope (tree, tree); +extern int insn_line (rtx); +extern const char * insn_file (rtx); extern int prologue_locator, epilogue_locator; /* In jump.c */ -extern enum rtx_code reverse_condition PARAMS ((enum rtx_code)); -extern enum rtx_code reverse_condition_maybe_unordered PARAMS ((enum rtx_code)); -extern enum rtx_code swap_condition PARAMS ((enum rtx_code)); -extern enum rtx_code unsigned_condition PARAMS ((enum rtx_code)); -extern enum rtx_code signed_condition PARAMS ((enum rtx_code)); -extern void mark_jump_label PARAMS ((rtx, rtx, int)); -extern void cleanup_barriers PARAMS ((void)); +extern enum rtx_code reverse_condition (enum rtx_code); +extern enum rtx_code reverse_condition_maybe_unordered (enum rtx_code); +extern enum rtx_code swap_condition (enum rtx_code); +extern enum rtx_code unsigned_condition (enum rtx_code); +extern enum rtx_code signed_condition (enum rtx_code); +extern void mark_jump_label (rtx, rtx, int); +extern void cleanup_barriers (void); /* In jump.c */ -extern bool squeeze_notes PARAMS ((rtx *, rtx *)); -extern rtx delete_related_insns PARAMS ((rtx)); -extern void delete_jump PARAMS ((rtx)); -extern void delete_barrier PARAMS ((rtx)); -extern rtx get_label_before PARAMS ((rtx)); -extern rtx get_label_after PARAMS ((rtx)); -extern rtx follow_jumps PARAMS ((rtx)); +extern bool squeeze_notes (rtx *, rtx *); +extern rtx delete_related_insns (rtx); +extern void delete_jump (rtx); +extern void delete_barrier (rtx); +extern rtx get_label_before (rtx); +extern rtx get_label_after (rtx); +extern rtx follow_jumps (rtx); /* In recog.c */ -extern rtx *find_constant_term_loc PARAMS ((rtx *)); +extern rtx *find_constant_term_loc (rtx *); /* In emit-rtl.c */ -extern rtx try_split PARAMS ((rtx, rtx, int)); +extern rtx try_split (rtx, rtx, int); extern int split_branch_probability; /* In unknown file */ -extern rtx split_insns PARAMS ((rtx, rtx)); +extern rtx split_insns (rtx, rtx); /* In simplify-rtx.c */ -extern rtx simplify_unary_operation PARAMS ((enum rtx_code, - enum machine_mode, rtx, - enum machine_mode)); -extern rtx simplify_binary_operation PARAMS ((enum rtx_code, - enum machine_mode, rtx, - rtx)); -extern rtx simplify_ternary_operation PARAMS ((enum rtx_code, - enum machine_mode, - enum machine_mode, rtx, rtx, - rtx)); -extern rtx simplify_relational_operation PARAMS ((enum rtx_code, - enum machine_mode, rtx, - rtx)); -extern rtx simplify_gen_binary PARAMS ((enum rtx_code, - enum machine_mode, - rtx, rtx)); -extern rtx simplify_gen_unary PARAMS ((enum rtx_code, - enum machine_mode, rtx, - enum machine_mode)); -extern rtx simplify_gen_ternary PARAMS ((enum rtx_code, - enum machine_mode, - enum machine_mode, - rtx, rtx, rtx)); -extern rtx simplify_gen_relational PARAMS ((enum rtx_code, - enum machine_mode, - enum machine_mode, - rtx, rtx)); -extern rtx simplify_subreg PARAMS ((enum machine_mode, - rtx, - enum machine_mode, - unsigned int)); -extern rtx simplify_gen_subreg PARAMS ((enum machine_mode, - rtx, - enum machine_mode, - unsigned int)); -extern rtx simplify_replace_rtx PARAMS ((rtx, rtx, rtx)); -extern rtx simplify_rtx PARAMS ((rtx)); -extern rtx avoid_constant_pool_reference PARAMS ((rtx)); +extern rtx simplify_unary_operation (enum rtx_code, enum machine_mode, rtx, + enum machine_mode); +extern rtx simplify_binary_operation (enum rtx_code, enum machine_mode, rtx, + rtx); +extern rtx simplify_ternary_operation (enum rtx_code, enum machine_mode, + enum machine_mode, rtx, rtx, rtx); +extern rtx simplify_relational_operation (enum rtx_code, enum machine_mode, + rtx, rtx); +extern rtx simplify_gen_binary (enum rtx_code, enum machine_mode, rtx, rtx); +extern rtx simplify_gen_unary (enum rtx_code, enum machine_mode, rtx, + enum machine_mode); +extern rtx simplify_gen_ternary (enum rtx_code, enum machine_mode, + enum machine_mode, rtx, rtx, rtx); +extern rtx simplify_gen_relational (enum rtx_code, enum machine_mode, + enum machine_mode, rtx, rtx); +extern rtx simplify_subreg (enum machine_mode, rtx, enum machine_mode, + unsigned int); +extern rtx simplify_gen_subreg (enum machine_mode, rtx, enum machine_mode, + unsigned int); +extern rtx simplify_replace_rtx (rtx, rtx, rtx); +extern rtx simplify_rtx (rtx); +extern rtx avoid_constant_pool_reference (rtx); /* In function.c */ -extern rtx gen_mem_addressof PARAMS ((rtx, tree, int)); +extern rtx gen_mem_addressof (rtx, tree, int); /* In regclass.c */ -extern enum machine_mode choose_hard_reg_mode PARAMS ((unsigned int, - unsigned int)); +extern enum machine_mode choose_hard_reg_mode (unsigned int, unsigned int); /* In emit-rtl.c */ -extern rtx set_unique_reg_note PARAMS ((rtx, enum reg_note, rtx)); +extern rtx set_unique_reg_note (rtx, enum reg_note, rtx); /* Functions in rtlanal.c */ @@ -1656,83 +1626,75 @@ typedef struct replace_label_data bool update_label_nuses; } replace_label_data; -extern int rtx_addr_can_trap_p PARAMS ((rtx)); -extern bool nonzero_address_p PARAMS ((rtx)); -extern int rtx_unstable_p PARAMS ((rtx)); -extern int rtx_varies_p PARAMS ((rtx, int)); -extern int rtx_addr_varies_p PARAMS ((rtx, int)); -extern HOST_WIDE_INT get_integer_term PARAMS ((rtx)); -extern rtx get_related_value PARAMS ((rtx)); -extern rtx get_jump_table_offset PARAMS ((rtx, rtx *)); -extern int global_reg_mentioned_p PARAMS ((rtx)); -extern int reg_mentioned_p PARAMS ((rtx, rtx)); -extern int count_occurrences PARAMS ((rtx, rtx, int)); -extern int reg_referenced_p PARAMS ((rtx, rtx)); -extern int reg_used_between_p PARAMS ((rtx, rtx, rtx)); -extern int reg_referenced_between_p PARAMS ((rtx, rtx, rtx)); -extern int reg_set_between_p PARAMS ((rtx, rtx, rtx)); -extern int regs_set_between_p PARAMS ((rtx, rtx, rtx)); -extern int commutative_operand_precedence PARAMS ((rtx)); -extern int swap_commutative_operands_p PARAMS ((rtx, rtx)); -extern int modified_between_p PARAMS ((rtx, rtx, rtx)); -extern int no_labels_between_p PARAMS ((rtx, rtx)); -extern int no_jumps_between_p PARAMS ((rtx, rtx)); -extern int modified_in_p PARAMS ((rtx, rtx)); -extern int insn_dependent_p PARAMS ((rtx, rtx)); -extern int reg_set_p PARAMS ((rtx, rtx)); -extern rtx single_set_2 PARAMS ((rtx, rtx)); -extern int multiple_sets PARAMS ((rtx)); -extern int set_noop_p PARAMS ((rtx)); -extern int noop_move_p PARAMS ((rtx)); -extern rtx find_last_value PARAMS ((rtx, rtx *, rtx, int)); -extern int refers_to_regno_p PARAMS ((unsigned int, unsigned int, - rtx, rtx *)); -extern int reg_overlap_mentioned_p PARAMS ((rtx, rtx)); -extern rtx set_of PARAMS ((rtx, rtx)); -extern void note_stores PARAMS ((rtx, - void (*) (rtx, rtx, void *), - void *)); -extern void note_uses PARAMS ((rtx *, - void (*) (rtx *, void *), - void *)); -extern rtx reg_set_last PARAMS ((rtx, rtx)); -extern int dead_or_set_p PARAMS ((rtx, rtx)); -extern int dead_or_set_regno_p PARAMS ((rtx, unsigned int)); -extern rtx find_reg_note PARAMS ((rtx, enum reg_note, rtx)); -extern rtx find_regno_note PARAMS ((rtx, enum reg_note, - unsigned int)); -extern rtx find_reg_equal_equiv_note PARAMS ((rtx)); -extern int find_reg_fusage PARAMS ((rtx, enum rtx_code, rtx)); -extern int find_regno_fusage PARAMS ((rtx, enum rtx_code, - unsigned int)); -extern int pure_call_p PARAMS ((rtx)); -extern void remove_note PARAMS ((rtx, rtx)); -extern int side_effects_p PARAMS ((rtx)); -extern int volatile_refs_p PARAMS ((rtx)); -extern int volatile_insn_p PARAMS ((rtx)); -extern int may_trap_p PARAMS ((rtx)); -extern int inequality_comparisons_p PARAMS ((rtx)); -extern rtx replace_rtx PARAMS ((rtx, rtx, rtx)); -extern rtx replace_regs PARAMS ((rtx, rtx *, unsigned int, - int)); -extern int replace_label PARAMS ((rtx *, void *)); -extern int rtx_referenced_p PARAMS ((rtx, rtx)); -extern bool tablejump_p PARAMS ((rtx, rtx *, rtx *)); -extern int computed_jump_p PARAMS ((rtx)); -typedef int (*rtx_function) PARAMS ((rtx *, void *)); -extern int for_each_rtx PARAMS ((rtx *, rtx_function, void *)); -extern rtx regno_use_in PARAMS ((unsigned int, rtx)); -extern int auto_inc_p PARAMS ((rtx)); -extern int in_expr_list_p PARAMS ((rtx, rtx)); -extern void remove_node_from_expr_list PARAMS ((rtx, rtx *)); -extern int insns_safe_to_move_p PARAMS ((rtx, rtx, rtx *)); -extern int loc_mentioned_in_p PARAMS ((rtx *, rtx)); -extern rtx find_first_parameter_load PARAMS ((rtx, rtx)); -extern bool keep_with_call_p PARAMS ((rtx)); +extern int rtx_addr_can_trap_p (rtx); +extern bool nonzero_address_p (rtx); +extern int rtx_unstable_p (rtx); +extern int rtx_varies_p (rtx, int); +extern int rtx_addr_varies_p (rtx, int); +extern HOST_WIDE_INT get_integer_term (rtx); +extern rtx get_related_value (rtx); +extern rtx get_jump_table_offset (rtx, rtx *); +extern int global_reg_mentioned_p (rtx); +extern int reg_mentioned_p (rtx, rtx); +extern int count_occurrences (rtx, rtx, int); +extern int reg_referenced_p (rtx, rtx); +extern int reg_used_between_p (rtx, rtx, rtx); +extern int reg_referenced_between_p (rtx, rtx, rtx); +extern int reg_set_between_p (rtx, rtx, rtx); +extern int regs_set_between_p (rtx, rtx, rtx); +extern int commutative_operand_precedence (rtx); +extern int swap_commutative_operands_p (rtx, rtx); +extern int modified_between_p (rtx, rtx, rtx); +extern int no_labels_between_p (rtx, rtx); +extern int no_jumps_between_p (rtx, rtx); +extern int modified_in_p (rtx, rtx); +extern int insn_dependent_p (rtx, rtx); +extern int reg_set_p (rtx, rtx); +extern rtx single_set_2 (rtx, rtx); +extern int multiple_sets (rtx); +extern int set_noop_p (rtx); +extern int noop_move_p (rtx); +extern rtx find_last_value (rtx, rtx *, rtx, int); +extern int refers_to_regno_p (unsigned int, unsigned int, rtx, rtx *); +extern int reg_overlap_mentioned_p (rtx, rtx); +extern rtx set_of (rtx, rtx); +extern void note_stores (rtx, void (*) (rtx, rtx, void *), void *); +extern void note_uses (rtx *, void (*) (rtx *, void *), void *); +extern rtx reg_set_last (rtx, rtx); +extern int dead_or_set_p (rtx, rtx); +extern int dead_or_set_regno_p (rtx, unsigned int); +extern rtx find_reg_note (rtx, enum reg_note, rtx); +extern rtx find_regno_note (rtx, enum reg_note, unsigned int); +extern rtx find_reg_equal_equiv_note (rtx); +extern int find_reg_fusage (rtx, enum rtx_code, rtx); +extern int find_regno_fusage (rtx, enum rtx_code, unsigned int); +extern int pure_call_p (rtx); +extern void remove_note (rtx, rtx); +extern int side_effects_p (rtx); +extern int volatile_refs_p (rtx); +extern int volatile_insn_p (rtx); +extern int may_trap_p (rtx); +extern int inequality_comparisons_p (rtx); +extern rtx replace_rtx (rtx, rtx, rtx); +extern rtx replace_regs (rtx, rtx *, unsigned int, int); +extern int replace_label (rtx *, void *); +extern int rtx_referenced_p (rtx, rtx); +extern bool tablejump_p (rtx, rtx *, rtx *); +extern int computed_jump_p (rtx); +typedef int (*rtx_function) (rtx *, void *); +extern int for_each_rtx (rtx *, rtx_function, void *); +extern rtx regno_use_in (unsigned int, rtx); +extern int auto_inc_p (rtx); +extern int in_expr_list_p (rtx, rtx); +extern void remove_node_from_expr_list (rtx, rtx *); +extern int insns_safe_to_move_p (rtx, rtx, rtx *); +extern int loc_mentioned_in_p (rtx *, rtx); +extern rtx find_first_parameter_load (rtx, rtx); +extern bool keep_with_call_p (rtx); /* flow.c */ -extern rtx find_use_as_address PARAMS ((rtx, rtx, HOST_WIDE_INT)); +extern rtx find_use_as_address (rtx, rtx, HOST_WIDE_INT); /* lists.c */ @@ -1752,21 +1714,20 @@ rtx alloc_EXPR_LIST (int, rtx, rtx); extern int max_parallel; /* Free up register info memory. */ -extern void free_reg_info PARAMS ((void)); +extern void free_reg_info (void); /* recog.c */ -extern int asm_noperands PARAMS ((rtx)); -extern const char *decode_asm_operands PARAMS ((rtx, rtx *, rtx **, - const char **, - enum machine_mode *)); +extern int asm_noperands (rtx); +extern const char *decode_asm_operands (rtx, rtx *, rtx **, const char **, + enum machine_mode *); -extern enum reg_class reg_preferred_class PARAMS ((int)); -extern enum reg_class reg_alternate_class PARAMS ((int)); +extern enum reg_class reg_preferred_class (int); +extern enum reg_class reg_alternate_class (int); -extern rtx get_first_nonparm_insn PARAMS ((void)); +extern rtx get_first_nonparm_insn (void); -extern void split_all_insns PARAMS ((int)); -extern void split_all_insns_noflow PARAMS ((void)); +extern void split_all_insns (int); +extern void split_all_insns_noflow (void); #define MAX_SAVED_CONST_INT 64 extern GTY(()) rtx const_int_rtx[MAX_SAVED_CONST_INT * 2 + 1]; @@ -1866,14 +1827,14 @@ extern GTY(()) rtx return_address_pointer_rtx; add to this list, modify special_rtx in gengenrtl.c as well. You should also modify gen_rtx to use the special function. */ -extern rtx gen_rtx_CONST_INT PARAMS ((enum machine_mode, HOST_WIDE_INT)); -extern rtx gen_rtx_CONST_VECTOR PARAMS ((enum machine_mode, rtvec)); -extern rtx gen_raw_REG PARAMS ((enum machine_mode, int)); -extern rtx gen_rtx_REG PARAMS ((enum machine_mode, unsigned)); -extern rtx gen_rtx_SUBREG PARAMS ((enum machine_mode, rtx, int)); -extern rtx gen_rtx_MEM PARAMS ((enum machine_mode, rtx)); +extern rtx gen_rtx_CONST_INT (enum machine_mode, HOST_WIDE_INT); +extern rtx gen_rtx_CONST_VECTOR (enum machine_mode, rtvec); +extern rtx gen_raw_REG (enum machine_mode, int); +extern rtx gen_rtx_REG (enum machine_mode, unsigned); +extern rtx gen_rtx_SUBREG (enum machine_mode, rtx, int); +extern rtx gen_rtx_MEM (enum machine_mode, rtx); -extern rtx gen_lowpart_SUBREG PARAMS ((enum machine_mode, rtx)); +extern rtx gen_lowpart_SUBREG (enum machine_mode, rtx); /* We need the cast here to ensure that we get the same result both with and without prototypes. */ @@ -1943,10 +1904,10 @@ extern rtx gen_lowpart_SUBREG PARAMS ((enum machine_mode, rtx)); /* REGNUM never really appearing in the INSN stream. */ #define INVALID_REGNUM (~(unsigned int) 0) -extern rtx output_constant_def PARAMS ((tree, int)); +extern rtx output_constant_def (tree, int); /* Called from integrate.c when a deferred constant is inlined. */ -extern void notice_rtl_inlining_of_deferred_constant PARAMS ((void)); +extern void notice_rtl_inlining_of_deferred_constant (void); /* Nonzero after the second flow pass has completed. Set to 1 or 0 by toplev.c */ @@ -1981,7 +1942,7 @@ extern int no_new_pseudos; REAL_ARITHMETIC. The function returns an int because the caller may not know what `enum tree_code' means. */ -extern int rtx_to_tree_code PARAMS ((enum rtx_code)); +extern int rtx_to_tree_code (enum rtx_code); /* In cse.c */ struct cse_basic_block_data; @@ -1995,92 +1956,91 @@ struct cse_basic_block_data; not to use an rtx with this cost under any circumstances. */ #define MAX_COST INT_MAX -extern int rtx_cost PARAMS ((rtx, enum rtx_code)); -extern int address_cost PARAMS ((rtx, enum machine_mode)); -extern int delete_trivially_dead_insns PARAMS ((rtx, int)); +extern int rtx_cost (rtx, enum rtx_code); +extern int address_cost (rtx, enum machine_mode); +extern int delete_trivially_dead_insns (rtx, int); #ifdef BUFSIZ -extern int cse_main PARAMS ((rtx, int, int, FILE *)); +extern int cse_main (rtx, int, int, FILE *); #endif -extern void cse_end_of_basic_block PARAMS ((rtx, - struct cse_basic_block_data *, - int, int, int)); +extern void cse_end_of_basic_block (rtx, struct cse_basic_block_data *, + int, int, int); /* In jump.c */ -extern int comparison_dominates_p PARAMS ((enum rtx_code, enum rtx_code)); -extern int condjump_p PARAMS ((rtx)); -extern int any_condjump_p PARAMS ((rtx)); -extern int any_uncondjump_p PARAMS ((rtx)); -extern int safe_to_remove_jump_p PARAMS ((rtx)); -extern rtx pc_set PARAMS ((rtx)); -extern rtx condjump_label PARAMS ((rtx)); -extern int simplejump_p PARAMS ((rtx)); -extern int returnjump_p PARAMS ((rtx)); -extern int onlyjump_p PARAMS ((rtx)); -extern int only_sets_cc0_p PARAMS ((rtx)); -extern int sets_cc0_p PARAMS ((rtx)); -extern int invert_jump_1 PARAMS ((rtx, rtx)); -extern int invert_jump PARAMS ((rtx, rtx, int)); -extern int rtx_renumbered_equal_p PARAMS ((rtx, rtx)); -extern int true_regnum PARAMS ((rtx)); -extern unsigned int reg_or_subregno PARAMS ((rtx)); -extern int redirect_jump_1 PARAMS ((rtx, rtx)); -extern int redirect_jump PARAMS ((rtx, rtx, int)); -extern void rebuild_jump_labels PARAMS ((rtx)); -extern enum rtx_code reversed_comparison_code PARAMS ((rtx, rtx)); -extern enum rtx_code reversed_comparison_code_parts PARAMS ((enum rtx_code, - rtx, rtx, rtx)); -extern void delete_for_peephole PARAMS ((rtx, rtx)); -extern int condjump_in_parallel_p PARAMS ((rtx)); -extern void never_reached_warning PARAMS ((rtx, rtx)); -extern void purge_line_number_notes PARAMS ((rtx)); -extern void copy_loop_headers PARAMS ((rtx)); +extern int comparison_dominates_p (enum rtx_code, enum rtx_code); +extern int condjump_p (rtx); +extern int any_condjump_p (rtx); +extern int any_uncondjump_p (rtx); +extern int safe_to_remove_jump_p (rtx); +extern rtx pc_set (rtx); +extern rtx condjump_label (rtx); +extern int simplejump_p (rtx); +extern int returnjump_p (rtx); +extern int onlyjump_p (rtx); +extern int only_sets_cc0_p (rtx); +extern int sets_cc0_p (rtx); +extern int invert_jump_1 (rtx, rtx); +extern int invert_jump (rtx, rtx, int); +extern int rtx_renumbered_equal_p (rtx, rtx); +extern int true_regnum (rtx); +extern unsigned int reg_or_subregno (rtx); +extern int redirect_jump_1 (rtx, rtx); +extern int redirect_jump (rtx, rtx, int); +extern void rebuild_jump_labels (rtx); +extern enum rtx_code reversed_comparison_code (rtx, rtx); +extern enum rtx_code reversed_comparison_code_parts (enum rtx_code, + rtx, rtx, rtx); +extern void delete_for_peephole (rtx, rtx); +extern int condjump_in_parallel_p (rtx); +extern void never_reached_warning (rtx, rtx); +extern void purge_line_number_notes (rtx); +extern void copy_loop_headers (rtx); /* In emit-rtl.c. */ -extern int max_reg_num PARAMS ((void)); -extern int max_label_num PARAMS ((void)); -extern int get_first_label_num PARAMS ((void)); -extern void delete_insns_since PARAMS ((rtx)); -extern void mark_reg_pointer PARAMS ((rtx, int)); -extern void mark_user_reg PARAMS ((rtx)); -extern void reset_used_flags PARAMS ((rtx)); -extern void reorder_insns PARAMS ((rtx, rtx, rtx)); -extern void reorder_insns_nobb PARAMS ((rtx, rtx, rtx)); -extern int get_max_uid PARAMS ((void)); -extern int in_sequence_p PARAMS ((void)); -extern void force_next_line_note PARAMS ((void)); -extern void init_emit PARAMS ((void)); -extern void init_emit_once PARAMS ((int)); -extern void push_topmost_sequence PARAMS ((void)); -extern void pop_topmost_sequence PARAMS ((void)); -extern int subreg_realpart_p PARAMS ((rtx)); -extern void reverse_comparison PARAMS ((rtx)); -extern void set_new_first_and_last_insn PARAMS ((rtx, rtx)); -extern void set_new_first_and_last_label_num PARAMS ((int, int)); -extern void set_new_last_label_num PARAMS ((int)); -extern void unshare_all_rtl_again PARAMS ((rtx)); -extern void set_first_insn PARAMS ((rtx)); -extern void set_last_insn PARAMS ((rtx)); -extern void link_cc0_insns PARAMS ((rtx)); -extern void add_insn PARAMS ((rtx)); -extern void add_insn_before PARAMS ((rtx, rtx)); -extern void add_insn_after PARAMS ((rtx, rtx)); -extern void remove_insn PARAMS ((rtx)); -extern void reorder_insns_with_line_notes PARAMS ((rtx, rtx, rtx)); -extern void emit_insn_after_with_line_notes PARAMS ((rtx, rtx, rtx)); -extern enum rtx_code classify_insn PARAMS ((rtx)); -extern rtx emit PARAMS ((rtx)); +extern int max_reg_num (void); +extern int max_label_num (void); +extern int get_first_label_num (void); +extern void delete_insns_since (rtx); +extern void mark_reg_pointer (rtx, int); +extern void mark_user_reg (rtx); +extern void reset_used_flags (rtx); +extern void reorder_insns (rtx, rtx, rtx); +extern void reorder_insns_nobb (rtx, rtx, rtx); +extern int get_max_uid (void); +extern int in_sequence_p (void); +extern void force_next_line_note (void); +extern void init_emit (void); +extern void init_emit_once (int); +extern void push_topmost_sequence (void); +extern void pop_topmost_sequence (void); +extern int subreg_realpart_p (rtx); +extern void reverse_comparison (rtx); +extern void set_new_first_and_last_insn (rtx, rtx); +extern void set_new_first_and_last_label_num (int, int); +extern void set_new_last_label_num (int); +extern void unshare_all_rtl_again (rtx); +extern void set_first_insn (rtx); +extern void set_last_insn (rtx); +extern void link_cc0_insns (rtx); +extern void add_insn (rtx); +extern void add_insn_before (rtx, rtx); +extern void add_insn_after (rtx, rtx); +extern void remove_insn (rtx); +extern void reorder_insns_with_line_notes (rtx, rtx, rtx); +extern void emit_insn_after_with_line_notes (rtx, rtx, rtx); +extern enum rtx_code classify_insn (rtx); +extern rtx emit (rtx); /* Query and clear/ restore no_line_numbers. This is used by the switch / case handling in stmt.c to give proper line numbers in warnings about unreachable code. */ -int force_line_numbers PARAMS ((void)); -void restore_line_number_status PARAMS ((int old_value)); -extern void renumber_insns PARAMS ((FILE *)); -extern void remove_unnecessary_notes PARAMS ((void)); -extern rtx delete_insn PARAMS ((rtx)); -extern void delete_insn_chain PARAMS ((rtx, rtx)); -extern rtx unlink_insn_chain PARAMS ((rtx, rtx)); -extern rtx delete_insn_and_edges PARAMS ((rtx)); -extern void delete_insn_chain_and_edges PARAMS ((rtx, rtx)); +int force_line_numbers (void); +void restore_line_number_status (int old_value); +extern void renumber_insns (FILE *); +extern void remove_unnecessary_notes (void); +extern rtx delete_insn (rtx); +extern void delete_insn_chain (rtx, rtx); +extern rtx unlink_insn_chain (rtx, rtx); +extern rtx delete_insn_and_edges (rtx); +extern void delete_insn_chain_and_edges (rtx, rtx); /* In combine.c */ extern int combine_instructions (rtx, unsigned int); @@ -2093,143 +2053,139 @@ extern void dump_combine_total_stats (FILE *); /* In sched.c. */ #ifdef BUFSIZ -extern void schedule_insns PARAMS ((FILE *)); -extern void schedule_ebbs PARAMS ((FILE *)); +extern void schedule_insns (FILE *); +extern void schedule_ebbs (FILE *); #endif -extern void fix_sched_param PARAMS ((const char *, const char *)); +extern void fix_sched_param (const char *, const char *); /* In print-rtl.c */ extern const char *print_rtx_head; -extern void debug_rtx PARAMS ((rtx)); -extern void debug_rtx_list PARAMS ((rtx, int)); -extern void debug_rtx_range PARAMS ((rtx, rtx)); -extern rtx debug_rtx_find PARAMS ((rtx, int)); +extern void debug_rtx (rtx); +extern void debug_rtx_list (rtx, int); +extern void debug_rtx_range (rtx, rtx); +extern rtx debug_rtx_find (rtx, int); #ifdef BUFSIZ -extern void print_mem_expr PARAMS ((FILE *, tree)); -extern void print_rtl PARAMS ((FILE *, rtx)); -extern void print_simple_rtl PARAMS ((FILE *, rtx)); -extern int print_rtl_single PARAMS ((FILE *, rtx)); -extern void print_inline_rtx PARAMS ((FILE *, rtx, int)); +extern void print_mem_expr (FILE *, tree); +extern void print_rtl (FILE *, rtx); +extern void print_simple_rtl (FILE *, rtx); +extern int print_rtl_single (FILE *, rtx); +extern void print_inline_rtx (FILE *, rtx, int); #endif /* In loop.c */ -extern void init_loop PARAMS ((void)); -extern rtx libcall_other_reg PARAMS ((rtx, rtx)); +extern void init_loop (void); +extern rtx libcall_other_reg (rtx, rtx); #ifdef BUFSIZ -extern void loop_optimize PARAMS ((rtx, FILE *, int)); +extern void loop_optimize (rtx, FILE *, int); #endif extern void branch_target_load_optimize (rtx, bool); -extern void record_excess_regs PARAMS ((rtx, rtx, rtx *)); +extern void record_excess_regs (rtx, rtx, rtx *); /* In function.c */ -extern void reposition_prologue_and_epilogue_notes PARAMS ((rtx)); -extern void thread_prologue_and_epilogue_insns PARAMS ((rtx)); -extern int prologue_epilogue_contains PARAMS ((rtx)); -extern int sibcall_epilogue_contains PARAMS ((rtx)); -extern void preserve_rtl_expr_result PARAMS ((rtx)); -extern void mark_temp_addr_taken PARAMS ((rtx)); -extern void update_temp_slot_address PARAMS ((rtx, rtx)); -extern void purge_addressof PARAMS ((rtx)); -extern void purge_hard_subreg_sets PARAMS ((rtx)); +extern void reposition_prologue_and_epilogue_notes (rtx); +extern void thread_prologue_and_epilogue_insns (rtx); +extern int prologue_epilogue_contains (rtx); +extern int sibcall_epilogue_contains (rtx); +extern void preserve_rtl_expr_result (rtx); +extern void mark_temp_addr_taken (rtx); +extern void update_temp_slot_address (rtx, rtx); +extern void purge_addressof (rtx); +extern void purge_hard_subreg_sets (rtx); /* In stmt.c */ -extern void set_file_and_line_for_stmt PARAMS ((const char *, int)); -extern void expand_null_return PARAMS ((void)); -extern void emit_jump PARAMS ((rtx)); -extern int preserve_subexpressions_p PARAMS ((void)); +extern void set_file_and_line_for_stmt (const char *, int); +extern void expand_null_return (void); +extern void emit_jump (rtx); +extern int preserve_subexpressions_p (void); /* In expr.c */ -extern rtx move_by_pieces PARAMS ((rtx, rtx, - unsigned HOST_WIDE_INT, - unsigned int, int)); +extern rtx move_by_pieces (rtx, rtx, unsigned HOST_WIDE_INT, + unsigned int, int); /* In flow.c */ -extern void recompute_reg_usage PARAMS ((rtx, int)); -extern int initialize_uninitialized_subregs PARAMS ((void)); -extern void delete_dead_jumptables PARAMS ((void)); +extern void recompute_reg_usage (rtx, int); +extern int initialize_uninitialized_subregs (void); +extern void delete_dead_jumptables (void); #ifdef BUFSIZ -extern void print_rtl_with_bb PARAMS ((FILE *, rtx)); -extern void dump_flow_info PARAMS ((FILE *)); +extern void print_rtl_with_bb (FILE *, rtx); +extern void dump_flow_info (FILE *); #endif /* In expmed.c */ -extern void init_expmed PARAMS ((void)); -extern void expand_inc PARAMS ((rtx, rtx)); -extern void expand_dec PARAMS ((rtx, rtx)); -extern rtx expand_mult_highpart PARAMS ((enum machine_mode, rtx, - unsigned HOST_WIDE_INT, rtx, - int, int)); +extern void init_expmed (void); +extern void expand_inc (rtx, rtx); +extern void expand_dec (rtx, rtx); +extern rtx expand_mult_highpart (enum machine_mode, rtx, + unsigned HOST_WIDE_INT, rtx, int, int); /* In gcse.c */ -extern bool can_copy_p PARAMS ((enum machine_mode)); -extern rtx fis_get_condition PARAMS ((rtx)); +extern bool can_copy_p (enum machine_mode); +extern rtx fis_get_condition (rtx); #ifdef BUFSIZ -extern int gcse_main PARAMS ((rtx, FILE *)); -extern int bypass_jumps PARAMS ((FILE *)); +extern int gcse_main (rtx, FILE *); +extern int bypass_jumps (FILE *); #endif /* In global.c */ -extern void mark_elimination PARAMS ((int, int)); +extern void mark_elimination (int, int); #ifdef BUFSIZ -extern int global_alloc PARAMS ((FILE *)); -extern void dump_global_regs PARAMS ((FILE *)); +extern int global_alloc (FILE *); +extern void dump_global_regs (FILE *); #endif #ifdef HARD_CONST /* Yes, this ifdef is silly, but HARD_REG_SET is not always defined. */ -extern void retry_global_alloc PARAMS ((int, HARD_REG_SET)); +extern void retry_global_alloc (int, HARD_REG_SET); #endif -extern void build_insn_chain PARAMS ((rtx)); +extern void build_insn_chain (rtx); /* In regclass.c */ -extern int reg_classes_intersect_p PARAMS ((enum reg_class, enum reg_class)); -extern int reg_class_subset_p PARAMS ((enum reg_class, enum reg_class)); -extern void globalize_reg PARAMS ((int)); -extern void init_regs PARAMS ((void)); -extern void init_fake_stack_mems PARAMS ((void)); -extern void init_reg_sets PARAMS ((void)); -extern void regset_release_memory PARAMS ((void)); -extern void regclass_init PARAMS ((void)); -extern void regclass PARAMS ((rtx, int, FILE *)); -extern void reg_scan PARAMS ((rtx, unsigned int, int)); -extern void reg_scan_update PARAMS ((rtx, rtx, unsigned int)); -extern void fix_register PARAMS ((const char *, int, int)); +extern int reg_classes_intersect_p (enum reg_class, enum reg_class); +extern int reg_class_subset_p (enum reg_class, enum reg_class); +extern void globalize_reg (int); +extern void init_regs (void); +extern void init_fake_stack_mems (void); +extern void init_reg_sets (void); +extern void regset_release_memory (void); +extern void regclass_init (void); +extern void regclass (rtx, int, FILE *); +extern void reg_scan (rtx, unsigned int, int); +extern void reg_scan_update (rtx, rtx, unsigned int); +extern void fix_register (const char *, int, int); #ifdef HARD_CONST -extern void cannot_change_mode_set_regs PARAMS ((HARD_REG_SET *, - enum machine_mode, - unsigned int)); +extern void cannot_change_mode_set_regs (HARD_REG_SET *, + enum machine_mode, unsigned int); #endif -extern bool invalid_mode_change_p PARAMS ((unsigned int, - enum reg_class, - enum machine_mode)); +extern bool invalid_mode_change_p (unsigned int, enum reg_class, + enum machine_mode); -extern int delete_null_pointer_checks PARAMS ((rtx)); +extern int delete_null_pointer_checks (rtx); /* In regmove.c */ #ifdef BUFSIZ -extern void regmove_optimize PARAMS ((rtx, int, FILE *)); +extern void regmove_optimize (rtx, int, FILE *); #endif -extern void combine_stack_adjustments PARAMS ((void)); +extern void combine_stack_adjustments (void); /* In reorg.c */ #ifdef BUFSIZ -extern void dbr_schedule PARAMS ((rtx, FILE *)); +extern void dbr_schedule (rtx, FILE *); #endif /* In local-alloc.c */ #ifdef BUFSIZ -extern void dump_local_alloc PARAMS ((FILE *)); +extern void dump_local_alloc (FILE *); #endif -extern int local_alloc PARAMS ((void)); -extern int function_invariant_p PARAMS ((rtx)); +extern int local_alloc (void); +extern int function_invariant_p (rtx); /* In profile.c */ -extern void init_branch_prob PARAMS ((void)); -extern void branch_prob PARAMS ((void)); -extern void end_branch_prob PARAMS ((void)); +extern void init_branch_prob (void); +extern void branch_prob (void); +extern void end_branch_prob (void); /* In reg-stack.c */ #ifdef BUFSIZ -extern bool reg_to_stack PARAMS ((rtx, FILE *)); +extern bool reg_to_stack (rtx, FILE *); #endif /* In calls.c */ @@ -2246,29 +2202,26 @@ enum libcall_type LCT_RETURNS_TWICE = 8 }; -extern void emit_library_call PARAMS ((rtx, enum libcall_type, - enum machine_mode, int, - ...)); -extern rtx emit_library_call_value PARAMS ((rtx, rtx, enum libcall_type, - enum machine_mode, int, - ...)); +extern void emit_library_call (rtx, enum libcall_type, enum machine_mode, int, + ...); +extern rtx emit_library_call_value (rtx, rtx, enum libcall_type, + enum machine_mode, int, ...); /* In unroll.c */ -extern int set_dominates_use PARAMS ((int, int, int, rtx, rtx)); +extern int set_dominates_use (int, int, int, rtx, rtx); /* In varasm.c */ -extern int in_data_section PARAMS ((void)); -extern void init_varasm_once PARAMS ((void)); +extern int in_data_section (void); +extern void init_varasm_once (void); /* In rtl.c */ -extern void init_rtl PARAMS ((void)); -extern void traverse_md_constants PARAMS ((int (*) (void **, void *), - void *)); +extern void init_rtl (void); +extern void traverse_md_constants (int (*) (void **, void *), void *); struct md_constant { char *name, *value; }; #ifdef BUFSIZ -extern int read_skip_spaces PARAMS ((FILE *)); -extern rtx read_rtx PARAMS ((FILE *)); +extern int read_skip_spaces (FILE *); +extern rtx read_rtx (FILE *); #endif extern const char *read_rtx_filename; @@ -2280,7 +2233,7 @@ extern int read_rtx_lineno; special abort includes one or both. toplev.h gets too few files, system.h gets too many. */ -extern void fancy_abort PARAMS ((const char *, int, const char *)) +extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN; #define abort() fancy_abort (__FILE__, __LINE__, __FUNCTION__) @@ -2309,27 +2262,27 @@ typedef enum { sibcall_use_sibcall } sibcall_use_t; -extern void optimize_sibling_and_tail_recursive_calls PARAMS ((void)); -extern void replace_call_placeholder PARAMS ((rtx, sibcall_use_t)); +extern void optimize_sibling_and_tail_recursive_calls (void); +extern void replace_call_placeholder (rtx, sibcall_use_t); #ifdef STACK_REGS -extern int stack_regs_mentioned PARAMS ((rtx insn)); +extern int stack_regs_mentioned (rtx insn); #endif /* In toplev.c */ extern GTY(()) rtx stack_limit_rtx; /* In regrename.c */ -extern void regrename_optimize PARAMS ((void)); -extern void copyprop_hardreg_forward PARAMS ((void)); +extern void regrename_optimize (void); +extern void copyprop_hardreg_forward (void); /* In ifcvt.c */ -extern void if_convert PARAMS ((int)); +extern void if_convert (int); /* In predict.c */ -extern void invert_br_probabilities PARAMS ((rtx)); -extern bool expensive_function_p PARAMS ((int)); +extern void invert_br_probabilities (rtx); +extern bool expensive_function_p (int); /* In tracer.c */ -extern void tracer PARAMS ((void)); +extern void tracer (void); #endif /* ! GCC_RTL_H */ |