Commit 7080f735 by Andreas Jaeger Committed by Andreas Jaeger

cse.c: Convert prototypes to ISO C90.

	* cse.c: Convert prototypes to ISO C90.
	* cselib.c: Likewise.
	* cselib.h: Likewise.
	* dbxout.c: Likewise.
	* debug.c: Likewise.
	* df.c: Likewise.
	* df.h: Likewise.
	* dojump.c: Likewise.
	* doloop.c: Likewise.
	* dominance.c: Likewise.
	* dwarf2asm.c: Likewise.
	* dwarf2out.c: Likewise.
	* dwarf2out.h: Likewise.
	* dwarfout.c: Likewise.

From-SVN: r68673
parent f9da5064
2003-06-29 Andreas Jaeger <aj@suse.de>
* cse.c: Convert prototypes to ISO C90.
* cselib.c: Likewise.
* cselib.h: Likewise.
* dbxout.c: Likewise.
* debug.c: Likewise.
* df.c: Likewise.
* df.h: Likewise.
* dojump.c: Likewise.
* doloop.c: Likewise.
* dominance.c: Likewise.
* dwarf2asm.c: Likewise.
* dwarf2out.c: Likewise.
* dwarf2out.h: Likewise.
* dwarfout.c: Likewise.
2003-06-29 Kazu Hirata <kazu@cs.umass.edu> 2003-06-29 Kazu Hirata <kazu@cs.umass.edu>
* alloc-pool.c: Fix comment formatting. * alloc-pool.c: Fix comment formatting.
......
...@@ -62,12 +62,12 @@ struct elt_list GTY(()) ...@@ -62,12 +62,12 @@ struct elt_list GTY(())
cselib_val *elt; cselib_val *elt;
}; };
extern cselib_val *cselib_lookup PARAMS ((rtx, enum machine_mode, int)); extern cselib_val *cselib_lookup (rtx, enum machine_mode, int);
extern void cselib_update_varray_sizes PARAMS ((void)); extern void cselib_update_varray_sizes (void);
extern void cselib_init PARAMS ((void)); extern void cselib_init (void);
extern void cselib_finish PARAMS ((void)); extern void cselib_finish (void);
extern void cselib_process_insn PARAMS ((rtx)); extern void cselib_process_insn (rtx);
extern enum machine_mode cselib_reg_set_mode PARAMS ((rtx)); extern enum machine_mode cselib_reg_set_mode (rtx);
extern int rtx_equal_for_cselib_p PARAMS ((rtx, rtx)); extern int rtx_equal_for_cselib_p (rtx, rtx);
extern int references_value_p PARAMS ((rtx, int)); extern int references_value_p (rtx, int);
extern rtx cselib_subst_to_values PARAMS ((rtx)); extern rtx cselib_subst_to_values (rtx);
/* Do-nothing debug hooks for GCC. /* Do-nothing debug hooks for GCC.
Copyright (C) 2001, 2002 Free Software Foundation, Inc. Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the under the terms of the GNU General Public License as published by the
...@@ -51,51 +51,44 @@ const struct gcc_debug_hooks do_nothing_debug_hooks = ...@@ -51,51 +51,44 @@ const struct gcc_debug_hooks do_nothing_debug_hooks =
nothing. */ nothing. */
void void
debug_nothing_void () debug_nothing_void (void)
{ {
} }
void void
debug_nothing_tree (decl) debug_nothing_tree (tree decl ATTRIBUTE_UNUSED)
tree decl ATTRIBUTE_UNUSED;
{ {
} }
bool bool
debug_true_tree (block) debug_true_tree (tree block ATTRIBUTE_UNUSED)
tree block ATTRIBUTE_UNUSED;
{ {
return true; return true;
} }
void void
debug_nothing_rtx (insn) debug_nothing_rtx (rtx insn ATTRIBUTE_UNUSED)
rtx insn ATTRIBUTE_UNUSED;
{ {
} }
void void
debug_nothing_charstar (main_filename) debug_nothing_charstar (const char *main_filename ATTRIBUTE_UNUSED)
const char *main_filename ATTRIBUTE_UNUSED;
{ {
} }
void void
debug_nothing_int_charstar (line, text) debug_nothing_int_charstar (unsigned int line ATTRIBUTE_UNUSED,
unsigned int line ATTRIBUTE_UNUSED; const char *text ATTRIBUTE_UNUSED)
const char *text ATTRIBUTE_UNUSED;
{ {
} }
void void
debug_nothing_int (line) debug_nothing_int (unsigned int line ATTRIBUTE_UNUSED)
unsigned int line ATTRIBUTE_UNUSED;
{ {
} }
void void
debug_nothing_int_int (line, n) debug_nothing_int_int (unsigned int line ATTRIBUTE_UNUSED,
unsigned int line ATTRIBUTE_UNUSED; unsigned int n ATTRIBUTE_UNUSED)
unsigned int n ATTRIBUTE_UNUSED;
{ {
} }
/* Form lists of pseudo register references for autoinc optimization /* Form lists of pseudo register references for autoinc optimization
for GNU compiler. This is part of flow optimization. for GNU compiler. This is part of flow optimization.
Copyright (C) 1999, 2000, 2001, 2003 Free Software Foundation, Inc. Copyright (C) 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
Contributed by Michael P. Hayes (m.hayes@elec.canterbury.ac.nz) Contributed by Michael P. Hayes (m.hayes@elec.canterbury.ac.nz)
...@@ -51,7 +51,7 @@ enum df_ref_flags ...@@ -51,7 +51,7 @@ enum df_ref_flags
these are marked with this flag to show that they are not these are marked with this flag to show that they are not
independent. */ independent. */
DF_REF_READ_WRITE = 1, DF_REF_READ_WRITE = 1,
/* This flag is set on register references inside a subreg on /* This flag is set on register references inside a subreg on
machines which have CANNOT_CHANGE_MODE_CLASS. machines which have CANNOT_CHANGE_MODE_CLASS.
Note, that this flag can also be set on df_refs representing Note, that this flag can also be set on df_refs representing
...@@ -157,7 +157,7 @@ struct df ...@@ -157,7 +157,7 @@ struct df
bitmap insns_modified; /* Insns that (may) have changed. */ bitmap insns_modified; /* Insns that (may) have changed. */
bitmap bbs_modified; /* Blocks that (may) have changed. */ bitmap bbs_modified; /* Blocks that (may) have changed. */
bitmap all_blocks; /* All blocks in CFG. */ bitmap all_blocks; /* All blocks in CFG. */
/* The sbitmap vector of dominators or NULL if not computed. /* The sbitmap vector of dominators or NULL if not computed.
Ideally, this should be a pointer to a CFG object. */ Ideally, this should be a pointer to a CFG object. */
sbitmap *dom; sbitmap *dom;
int *dfs_order; /* DFS order -> block number. */ int *dfs_order; /* DFS order -> block number. */
...@@ -231,96 +231,87 @@ struct df_map ...@@ -231,96 +231,87 @@ struct df_map
/* Functions to build and analyse dataflow information. */ /* Functions to build and analyse dataflow information. */
extern struct df *df_init PARAMS ((void)); extern struct df *df_init (void);
extern int df_analyse PARAMS ((struct df *, bitmap, int)); extern int df_analyse (struct df *, bitmap, int);
extern void df_finish PARAMS ((struct df *)); extern void df_finish (struct df *);
extern void df_dump PARAMS ((struct df *, int, FILE *)); extern void df_dump (struct df *, int, FILE *);
/* Functions to modify insns. */ /* Functions to modify insns. */
extern void df_insn_modify PARAMS ((struct df *, basic_block, rtx)); extern void df_insn_modify (struct df *, basic_block, rtx);
extern rtx df_insn_delete PARAMS ((struct df *, basic_block, rtx)); extern rtx df_insn_delete (struct df *, basic_block, rtx);
extern rtx df_pattern_emit_before PARAMS ((struct df *, rtx, extern rtx df_pattern_emit_before (struct df *, rtx, basic_block, rtx);
basic_block, rtx));
extern rtx df_jump_pattern_emit_after PARAMS ((struct df *, rtx, extern rtx df_jump_pattern_emit_after (struct df *, rtx, basic_block, rtx);
basic_block, rtx));
extern rtx df_pattern_emit_after PARAMS ((struct df *, rtx, extern rtx df_pattern_emit_after (struct df *, rtx, basic_block, rtx);
basic_block, rtx));
extern rtx df_insn_move_before PARAMS ((struct df *, basic_block, rtx, extern rtx df_insn_move_before (struct df *, basic_block, rtx, basic_block,
basic_block, rtx)); rtx);
extern int df_reg_replace PARAMS ((struct df *, bitmap, rtx, rtx)); extern int df_reg_replace (struct df *, bitmap, rtx, rtx);
extern int df_ref_reg_replace PARAMS ((struct df *, struct ref *, rtx, rtx)); extern int df_ref_reg_replace (struct df *, struct ref *, rtx, rtx);
extern int df_ref_remove PARAMS ((struct df *, struct ref *)); extern int df_ref_remove (struct df *, struct ref *);
extern int df_insn_reg_replace PARAMS ((struct df *, basic_block, extern int df_insn_reg_replace (struct df *, basic_block, rtx, rtx, rtx);
rtx, rtx, rtx));
extern int df_insn_mem_replace PARAMS ((struct df *, basic_block, extern int df_insn_mem_replace (struct df *, basic_block, rtx, rtx, rtx);
rtx, rtx, rtx));
extern struct ref *df_bb_def_use_swap PARAMS ((struct df *, basic_block, extern struct ref *df_bb_def_use_swap (struct df *, basic_block, rtx, rtx,
rtx, rtx, unsigned int)); unsigned int);
/* Functions to query dataflow information. */ /* Functions to query dataflow information. */
extern basic_block df_regno_bb PARAMS((struct df *, unsigned int)); extern basic_block df_regno_bb (struct df *, unsigned int);
extern int df_reg_lifetime PARAMS ((struct df *, rtx)); extern int df_reg_lifetime (struct df *, rtx);
extern int df_reg_global_p PARAMS ((struct df *, rtx)); extern int df_reg_global_p (struct df *, rtx);
extern int df_insn_regno_def_p PARAMS ((struct df *, extern int df_insn_regno_def_p (struct df *, basic_block, rtx, unsigned int);
basic_block, rtx, unsigned int));
extern int df_insn_dominates_all_uses_p PARAMS ((struct df *, extern int df_insn_dominates_all_uses_p (struct df *, basic_block, rtx);
basic_block, rtx));
extern int df_insn_dominates_uses_p PARAMS ((struct df *, basic_block, extern int df_insn_dominates_uses_p (struct df *, basic_block, rtx, bitmap);
rtx, bitmap));
extern int df_bb_reg_live_start_p PARAMS ((struct df *, basic_block, rtx)); extern int df_bb_reg_live_start_p (struct df *, basic_block, rtx);
extern int df_bb_reg_live_end_p PARAMS ((struct df *, basic_block, rtx)); extern int df_bb_reg_live_end_p (struct df *, basic_block, rtx);
extern int df_bb_regs_lives_compare PARAMS ((struct df *, basic_block, extern int df_bb_regs_lives_compare (struct df *, basic_block, rtx, rtx);
rtx, rtx));
extern rtx df_bb_single_def_use_insn_find PARAMS((struct df *, basic_block, extern rtx df_bb_single_def_use_insn_find (struct df *, basic_block, rtx,
rtx, rtx)); rtx);
/* Functions for debugging from GDB. */ /* Functions for debugging from GDB. */
extern void debug_df_insn PARAMS ((rtx)); extern void debug_df_insn (rtx);
extern void debug_df_regno PARAMS ((unsigned int)); extern void debug_df_regno (unsigned int);
extern void debug_df_reg PARAMS ((rtx)); extern void debug_df_reg (rtx);
extern void debug_df_defno PARAMS ((unsigned int)); extern void debug_df_defno (unsigned int);
extern void debug_df_useno PARAMS ((unsigned int)); extern void debug_df_useno (unsigned int);
extern void debug_df_ref PARAMS ((struct ref *)); extern void debug_df_ref (struct ref *);
extern void debug_df_chain PARAMS ((struct df_link *)); extern void debug_df_chain (struct df_link *);
extern void df_insn_debug PARAMS ((struct df *, rtx, FILE *)); extern void df_insn_debug (struct df *, rtx, FILE *);
extern void df_insn_debug_regno PARAMS ((struct df *, rtx, FILE *)); extern void df_insn_debug_regno (struct df *, rtx, FILE *);
/* Meet over any path (UNION) or meet over all paths (INTERSECTION). */ /* Meet over any path (UNION) or meet over all paths (INTERSECTION). */
...@@ -339,23 +330,22 @@ enum df_flow_dir ...@@ -339,23 +330,22 @@ enum df_flow_dir
}; };
typedef void (*transfer_function_sbitmap) PARAMS ((int, int *, sbitmap, sbitmap, typedef void (*transfer_function_sbitmap) (int, int *, sbitmap, sbitmap,
sbitmap, sbitmap, void *)); sbitmap, sbitmap, void *);
typedef void (*transfer_function_bitmap) PARAMS ((int, int *, bitmap, bitmap, typedef void (*transfer_function_bitmap) (int, int *, bitmap, bitmap,
bitmap, bitmap, void *)); bitmap, bitmap, void *);
extern void iterative_dataflow_sbitmap PARAMS ((sbitmap *, sbitmap *, extern void iterative_dataflow_sbitmap (sbitmap *, sbitmap *, sbitmap *,
sbitmap *, sbitmap *, sbitmap *, bitmap, enum df_flow_dir,
bitmap, enum df_flow_dir, enum df_confluence_op,
enum df_confluence_op, transfer_function_sbitmap,
transfer_function_sbitmap, int *, void *);
int *, void *));
extern void iterative_dataflow_bitmap PARAMS ((bitmap *, bitmap *, bitmap *, extern void iterative_dataflow_bitmap (bitmap *, bitmap *, bitmap *,
bitmap *, bitmap, bitmap *, bitmap,
enum df_flow_dir, enum df_flow_dir,
enum df_confluence_op, enum df_confluence_op,
transfer_function_bitmap, transfer_function_bitmap,
int *, void *)); int *, void *);
extern bool read_modify_subreg_p PARAMS ((rtx)); extern bool read_modify_subreg_p (rtx);
...@@ -34,16 +34,16 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA ...@@ -34,16 +34,16 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "optabs.h" #include "optabs.h"
#include "langhooks.h" #include "langhooks.h"
static void do_jump_by_parts_greater PARAMS ((tree, int, rtx, rtx)); static void do_jump_by_parts_greater (tree, int, rtx, rtx);
static void do_jump_by_parts_equality PARAMS ((tree, rtx, rtx)); static void do_jump_by_parts_equality (tree, rtx, rtx);
static void do_compare_and_jump PARAMS ((tree, enum rtx_code, enum rtx_code, static void do_compare_and_jump (tree, enum rtx_code, enum rtx_code, rtx,
rtx, rtx)); rtx);
/* At the start of a function, record that we have no previously-pushed /* At the start of a function, record that we have no previously-pushed
arguments waiting to be popped. */ arguments waiting to be popped. */
void void
init_pending_stack_adjust () init_pending_stack_adjust (void)
{ {
pending_stack_adjust = 0; pending_stack_adjust = 0;
} }
...@@ -55,7 +55,7 @@ init_pending_stack_adjust () ...@@ -55,7 +55,7 @@ init_pending_stack_adjust ()
frame pointer regardless of the value of flag_omit_frame_pointer. */ frame pointer regardless of the value of flag_omit_frame_pointer. */
void void
clear_pending_stack_adjust () clear_pending_stack_adjust (void)
{ {
#ifdef EXIT_IGNORE_STACK #ifdef EXIT_IGNORE_STACK
if (optimize > 0 if (optimize > 0
...@@ -73,7 +73,7 @@ clear_pending_stack_adjust () ...@@ -73,7 +73,7 @@ clear_pending_stack_adjust ()
/* Pop any previously-pushed arguments that have not been popped yet. */ /* Pop any previously-pushed arguments that have not been popped yet. */
void void
do_pending_stack_adjust () do_pending_stack_adjust (void)
{ {
if (inhibit_defer_pop == 0) if (inhibit_defer_pop == 0)
{ {
...@@ -90,9 +90,7 @@ do_pending_stack_adjust () ...@@ -90,9 +90,7 @@ do_pending_stack_adjust ()
functions here. */ functions here. */
void void
jumpifnot (exp, label) jumpifnot (tree exp, rtx label)
tree exp;
rtx label;
{ {
do_jump (exp, label, NULL_RTX); do_jump (exp, label, NULL_RTX);
} }
...@@ -100,9 +98,7 @@ jumpifnot (exp, label) ...@@ -100,9 +98,7 @@ jumpifnot (exp, label)
/* Generate code to evaluate EXP and jump to LABEL if the value is nonzero. */ /* Generate code to evaluate EXP and jump to LABEL if the value is nonzero. */
void void
jumpif (exp, label) jumpif (tree exp, rtx label)
tree exp;
rtx label;
{ {
do_jump (exp, NULL_RTX, label); do_jump (exp, NULL_RTX, label);
} }
...@@ -120,9 +116,7 @@ jumpif (exp, label) ...@@ -120,9 +116,7 @@ jumpif (exp, label)
&&, || and comparison operators in EXP. */ &&, || and comparison operators in EXP. */
void void
do_jump (exp, if_false_label, if_true_label) do_jump (tree exp, rtx if_false_label, rtx if_true_label)
tree exp;
rtx if_false_label, if_true_label;
{ {
enum tree_code code = TREE_CODE (exp); enum tree_code code = TREE_CODE (exp);
/* Some cases need to create a label to jump to /* Some cases need to create a label to jump to
...@@ -617,10 +611,8 @@ do_jump (exp, if_false_label, if_true_label) ...@@ -617,10 +611,8 @@ do_jump (exp, if_false_label, if_true_label)
and LT if SWAP is 1. */ and LT if SWAP is 1. */
static void static void
do_jump_by_parts_greater (exp, swap, if_false_label, if_true_label) do_jump_by_parts_greater (tree exp, int swap, rtx if_false_label,
tree exp; rtx if_true_label)
int swap;
rtx if_false_label, if_true_label;
{ {
rtx op0 = expand_expr (TREE_OPERAND (exp, swap), NULL_RTX, VOIDmode, 0); rtx op0 = expand_expr (TREE_OPERAND (exp, swap), NULL_RTX, VOIDmode, 0);
rtx op1 = expand_expr (TREE_OPERAND (exp, !swap), NULL_RTX, VOIDmode, 0); rtx op1 = expand_expr (TREE_OPERAND (exp, !swap), NULL_RTX, VOIDmode, 0);
...@@ -635,11 +627,8 @@ do_jump_by_parts_greater (exp, swap, if_false_label, if_true_label) ...@@ -635,11 +627,8 @@ do_jump_by_parts_greater (exp, swap, if_false_label, if_true_label)
Jump to IF_TRUE_LABEL if OP0 is greater, IF_FALSE_LABEL otherwise. */ Jump to IF_TRUE_LABEL if OP0 is greater, IF_FALSE_LABEL otherwise. */
void void
do_jump_by_parts_greater_rtx (mode, unsignedp, op0, op1, if_false_label, if_true_label) do_jump_by_parts_greater_rtx (enum machine_mode mode, int unsignedp, rtx op0,
enum machine_mode mode; rtx op1, rtx if_false_label, rtx if_true_label)
int unsignedp;
rtx op0, op1;
rtx if_false_label, if_true_label;
{ {
int nwords = (GET_MODE_SIZE (mode) / UNITS_PER_WORD); int nwords = (GET_MODE_SIZE (mode) / UNITS_PER_WORD);
rtx drop_through_label = 0; rtx drop_through_label = 0;
...@@ -688,9 +677,7 @@ do_jump_by_parts_greater_rtx (mode, unsignedp, op0, op1, if_false_label, if_true ...@@ -688,9 +677,7 @@ do_jump_by_parts_greater_rtx (mode, unsignedp, op0, op1, if_false_label, if_true
with one insn, test the comparison and jump to the appropriate label. */ with one insn, test the comparison and jump to the appropriate label. */
static void static void
do_jump_by_parts_equality (exp, if_false_label, if_true_label) do_jump_by_parts_equality (tree exp, rtx if_false_label, rtx if_true_label)
tree exp;
rtx if_false_label, if_true_label;
{ {
rtx op0 = expand_expr (TREE_OPERAND (exp, 0), NULL_RTX, VOIDmode, 0); rtx op0 = expand_expr (TREE_OPERAND (exp, 0), NULL_RTX, VOIDmode, 0);
rtx op1 = expand_expr (TREE_OPERAND (exp, 1), NULL_RTX, VOIDmode, 0); rtx op1 = expand_expr (TREE_OPERAND (exp, 1), NULL_RTX, VOIDmode, 0);
...@@ -719,9 +706,7 @@ do_jump_by_parts_equality (exp, if_false_label, if_true_label) ...@@ -719,9 +706,7 @@ do_jump_by_parts_equality (exp, if_false_label, if_true_label)
for the available compare insns. */ for the available compare insns. */
void void
do_jump_by_parts_equality_rtx (op0, if_false_label, if_true_label) do_jump_by_parts_equality_rtx (rtx op0, rtx if_false_label, rtx if_true_label)
rtx op0;
rtx if_false_label, if_true_label;
{ {
int nwords = GET_MODE_SIZE (GET_MODE (op0)) / UNITS_PER_WORD; int nwords = GET_MODE_SIZE (GET_MODE (op0)) / UNITS_PER_WORD;
rtx part; rtx part;
...@@ -776,12 +761,8 @@ do_jump_by_parts_equality_rtx (op0, if_false_label, if_true_label) ...@@ -776,12 +761,8 @@ do_jump_by_parts_equality_rtx (op0, if_false_label, if_true_label)
compared. */ compared. */
rtx rtx
compare_from_rtx (op0, op1, code, unsignedp, mode, size) compare_from_rtx (rtx op0, rtx op1, enum rtx_code code, int unsignedp,
rtx op0, op1; enum machine_mode mode, rtx size)
enum rtx_code code;
int unsignedp;
enum machine_mode mode;
rtx size;
{ {
enum rtx_code ucode; enum rtx_code ucode;
rtx tem; rtx tem;
...@@ -847,14 +828,9 @@ compare_from_rtx (op0, op1, code, unsignedp, mode, size) ...@@ -847,14 +828,9 @@ compare_from_rtx (op0, op1, code, unsignedp, mode, size)
compared. */ compared. */
void void
do_compare_rtx_and_jump (op0, op1, code, unsignedp, mode, size, do_compare_rtx_and_jump (rtx op0, rtx op1, enum rtx_code code, int unsignedp,
if_false_label, if_true_label) enum machine_mode mode, rtx size, rtx if_false_label,
rtx op0, op1; rtx if_true_label)
enum rtx_code code;
int unsignedp;
enum machine_mode mode;
rtx size;
rtx if_false_label, if_true_label;
{ {
enum rtx_code ucode; enum rtx_code ucode;
rtx tem; rtx tem;
...@@ -952,11 +928,9 @@ do_compare_rtx_and_jump (op0, op1, code, unsignedp, mode, size, ...@@ -952,11 +928,9 @@ do_compare_rtx_and_jump (op0, op1, code, unsignedp, mode, size,
things pushed on the stack that aren't yet used. */ things pushed on the stack that aren't yet used. */
static void static void
do_compare_and_jump (exp, signed_code, unsigned_code, if_false_label, do_compare_and_jump (tree exp, enum rtx_code signed_code,
if_true_label) enum rtx_code unsigned_code, rtx if_false_label,
tree exp; rtx if_true_label)
enum rtx_code signed_code, unsigned_code;
rtx if_false_label, if_true_label;
{ {
rtx op0, op1; rtx op0, op1;
tree type; tree type;
......
/* Perform doloop optimizations /* Perform doloop optimizations
Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. Copyright (C) 1999, 2000, 2001, 2002, 2003
Free Software Foundation, Inc.
Contributed by Michael P. Hayes (m.hayes@elec.canterbury.ac.nz) Contributed by Michael P. Hayes (m.hayes@elec.canterbury.ac.nz)
This file is part of GCC. This file is part of GCC.
...@@ -59,23 +60,19 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA ...@@ -59,23 +60,19 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#ifdef HAVE_doloop_end #ifdef HAVE_doloop_end
static rtx doloop_condition_get static rtx doloop_condition_get (rtx);
PARAMS ((rtx)); static unsigned HOST_WIDE_INT doloop_iterations_max (const struct loop_info *,
static unsigned HOST_WIDE_INT doloop_iterations_max enum machine_mode, int);
PARAMS ((const struct loop_info *, enum machine_mode, int)); static int doloop_valid_p (const struct loop *, rtx);
static int doloop_valid_p static int doloop_modify (const struct loop *, rtx, rtx, rtx, rtx, rtx);
PARAMS ((const struct loop *, rtx)); static int doloop_modify_runtime (const struct loop *, rtx, rtx, rtx,
static int doloop_modify enum machine_mode, rtx);
PARAMS ((const struct loop *, rtx, rtx, rtx, rtx, rtx));
static int doloop_modify_runtime
PARAMS ((const struct loop *, rtx, rtx, rtx, enum machine_mode, rtx));
/* Return the loop termination condition for PATTERN or zero /* Return the loop termination condition for PATTERN or zero
if it is not a decrement and branch jump insn. */ if it is not a decrement and branch jump insn. */
static rtx static rtx
doloop_condition_get (pattern) doloop_condition_get (rtx pattern)
rtx pattern;
{ {
rtx cmp; rtx cmp;
rtx inc; rtx inc;
...@@ -146,10 +143,8 @@ doloop_condition_get (pattern) ...@@ -146,10 +143,8 @@ doloop_condition_get (pattern)
MODE is the mode of the iteration count and NONNEG is nonzero if MODE is the mode of the iteration count and NONNEG is nonzero if
the iteration count has been proved to be non-negative. */ the iteration count has been proved to be non-negative. */
static unsigned HOST_WIDE_INT static unsigned HOST_WIDE_INT
doloop_iterations_max (loop_info, mode, nonneg) doloop_iterations_max (const struct loop_info *loop_info,
const struct loop_info *loop_info; enum machine_mode mode, int nonneg)
enum machine_mode mode;
int nonneg;
{ {
unsigned HOST_WIDE_INT n_iterations_max; unsigned HOST_WIDE_INT n_iterations_max;
enum rtx_code code; enum rtx_code code;
...@@ -255,9 +250,7 @@ doloop_iterations_max (loop_info, mode, nonneg) ...@@ -255,9 +250,7 @@ doloop_iterations_max (loop_info, mode, nonneg)
/* Return nonzero if the loop specified by LOOP is suitable for /* Return nonzero if the loop specified by LOOP is suitable for
the use of special low-overhead looping instructions. */ the use of special low-overhead looping instructions. */
static int static int
doloop_valid_p (loop, jump_insn) doloop_valid_p (const struct loop *loop, rtx jump_insn)
const struct loop *loop;
rtx jump_insn;
{ {
const struct loop_info *loop_info = LOOP_INFO (loop); const struct loop_info *loop_info = LOOP_INFO (loop);
...@@ -405,14 +398,8 @@ doloop_valid_p (loop, jump_insn) ...@@ -405,14 +398,8 @@ doloop_valid_p (loop, jump_insn)
low-overhead looping insn to emit at the end of the loop. This low-overhead looping insn to emit at the end of the loop. This
returns nonzero if it was successful. */ returns nonzero if it was successful. */
static int static int
doloop_modify (loop, iterations, iterations_max, doloop_modify (const struct loop *loop, rtx iterations, rtx iterations_max,
doloop_seq, start_label, condition) rtx doloop_seq, rtx start_label, rtx condition)
const struct loop *loop;
rtx iterations;
rtx iterations_max;
rtx doloop_seq;
rtx start_label;
rtx condition;
{ {
rtx counter_reg; rtx counter_reg;
rtx count; rtx count;
...@@ -545,14 +532,9 @@ doloop_modify (loop, iterations, iterations_max, ...@@ -545,14 +532,9 @@ doloop_modify (loop, iterations, iterations_max,
number of loop iterations. DOLOOP_INSN is the low-overhead looping number of loop iterations. DOLOOP_INSN is the low-overhead looping
insn to insert. Returns nonzero if loop successfully modified. */ insn to insert. Returns nonzero if loop successfully modified. */
static int static int
doloop_modify_runtime (loop, iterations_max, doloop_modify_runtime (const struct loop *loop, rtx iterations_max,
doloop_seq, start_label, mode, condition) rtx doloop_seq, rtx start_label,
const struct loop *loop; enum machine_mode mode, rtx condition)
rtx iterations_max;
rtx doloop_seq;
rtx start_label;
enum machine_mode mode;
rtx condition;
{ {
const struct loop_info *loop_info = LOOP_INFO (loop); const struct loop_info *loop_info = LOOP_INFO (loop);
HOST_WIDE_INT abs_inc; HOST_WIDE_INT abs_inc;
...@@ -759,8 +741,7 @@ doloop_modify_runtime (loop, iterations_max, ...@@ -759,8 +741,7 @@ doloop_modify_runtime (loop, iterations_max,
is a candidate for this optimization. Returns nonzero if loop is a candidate for this optimization. Returns nonzero if loop
successfully modified. */ successfully modified. */
int int
doloop_optimize (loop) doloop_optimize (const struct loop *loop)
const struct loop *loop;
{ {
struct loop_info *loop_info = LOOP_INFO (loop); struct loop_info *loop_info = LOOP_INFO (loop);
rtx initial_value; rtx initial_value;
......
/* Calculate (post)dominators in slightly super-linear time. /* Calculate (post)dominators in slightly super-linear time.
Copyright (C) 2000 Free Software Foundation, Inc. Copyright (C) 2000, 2003 Free Software Foundation, Inc.
Contributed by Michael Matz (matz@ifh.de). Contributed by Michael Matz (matz@ifh.de).
This file is part of GCC. This file is part of GCC.
...@@ -115,19 +115,16 @@ struct dom_info ...@@ -115,19 +115,16 @@ struct dom_info
unsigned int nodes; unsigned int nodes;
}; };
static void init_dom_info PARAMS ((struct dom_info *)); static void init_dom_info (struct dom_info *);
static void free_dom_info PARAMS ((struct dom_info *)); static void free_dom_info (struct dom_info *);
static void calc_dfs_tree_nonrec PARAMS ((struct dom_info *, static void calc_dfs_tree_nonrec (struct dom_info *, basic_block,
basic_block, enum cdi_direction);
enum cdi_direction)); static void calc_dfs_tree (struct dom_info *, enum cdi_direction);
static void calc_dfs_tree PARAMS ((struct dom_info *, static void compress (struct dom_info *, TBB);
enum cdi_direction)); static TBB eval (struct dom_info *, TBB);
static void compress PARAMS ((struct dom_info *, TBB)); static void link_roots (struct dom_info *, TBB, TBB);
static TBB eval PARAMS ((struct dom_info *, TBB)); static void calc_idoms (struct dom_info *, enum cdi_direction);
static void link_roots PARAMS ((struct dom_info *, TBB, TBB)); void debug_dominance_info (dominance_info);
static void calc_idoms PARAMS ((struct dom_info *,
enum cdi_direction));
void debug_dominance_info PARAMS ((dominance_info));
/* Helper macro for allocating and initializing an array, /* Helper macro for allocating and initializing an array,
for aesthetic reasons. */ for aesthetic reasons. */
...@@ -150,8 +147,7 @@ void debug_dominance_info PARAMS ((dominance_info)); ...@@ -150,8 +147,7 @@ void debug_dominance_info PARAMS ((dominance_info));
This initializes the contents of DI, which already must be allocated. */ This initializes the contents of DI, which already must be allocated. */
static void static void
init_dom_info (di) init_dom_info (struct dom_info *di)
struct dom_info *di;
{ {
/* We need memory for n_basic_blocks nodes and the ENTRY_BLOCK or /* We need memory for n_basic_blocks nodes and the ENTRY_BLOCK or
EXIT_BLOCK. */ EXIT_BLOCK. */
...@@ -180,8 +176,7 @@ init_dom_info (di) ...@@ -180,8 +176,7 @@ init_dom_info (di)
/* Free all allocated memory in DI, but not DI itself. */ /* Free all allocated memory in DI, but not DI itself. */
static void static void
free_dom_info (di) free_dom_info (struct dom_info *di)
struct dom_info *di;
{ {
free (di->dfs_parent); free (di->dfs_parent);
free (di->path_min); free (di->path_min);
...@@ -203,10 +198,7 @@ free_dom_info (di) ...@@ -203,10 +198,7 @@ free_dom_info (di)
assigned their dfs number and are linked together to form a tree. */ assigned their dfs number and are linked together to form a tree. */
static void static void
calc_dfs_tree_nonrec (di, bb, reverse) calc_dfs_tree_nonrec (struct dom_info *di, basic_block bb, enum cdi_direction reverse)
struct dom_info *di;
basic_block bb;
enum cdi_direction reverse;
{ {
/* We never call this with bb==EXIT_BLOCK_PTR (ENTRY_BLOCK_PTR if REVERSE). */ /* We never call this with bb==EXIT_BLOCK_PTR (ENTRY_BLOCK_PTR if REVERSE). */
/* We call this _only_ if bb is not already visited. */ /* We call this _only_ if bb is not already visited. */
...@@ -321,9 +313,7 @@ calc_dfs_tree_nonrec (di, bb, reverse) ...@@ -321,9 +313,7 @@ calc_dfs_tree_nonrec (di, bb, reverse)
because there may be nodes from which the EXIT_BLOCK is unreachable. */ because there may be nodes from which the EXIT_BLOCK is unreachable. */
static void static void
calc_dfs_tree (di, reverse) calc_dfs_tree (struct dom_info *di, enum cdi_direction reverse)
struct dom_info *di;
enum cdi_direction reverse;
{ {
/* The first block is the ENTRY_BLOCK (or EXIT_BLOCK if REVERSE). */ /* The first block is the ENTRY_BLOCK (or EXIT_BLOCK if REVERSE). */
basic_block begin = reverse ? EXIT_BLOCK_PTR : ENTRY_BLOCK_PTR; basic_block begin = reverse ? EXIT_BLOCK_PTR : ENTRY_BLOCK_PTR;
...@@ -364,9 +354,7 @@ calc_dfs_tree (di, reverse) ...@@ -364,9 +354,7 @@ calc_dfs_tree (di, reverse)
from V to that root. */ from V to that root. */
static void static void
compress (di, v) compress (struct dom_info *di, TBB v)
struct dom_info *di;
TBB v;
{ {
/* Btw. It's not worth to unrecurse compress() as the depth is usually not /* Btw. It's not worth to unrecurse compress() as the depth is usually not
greater than 5 even for huge graphs (I've not seen call depth > 4). greater than 5 even for huge graphs (I've not seen call depth > 4).
...@@ -386,9 +374,7 @@ compress (di, v) ...@@ -386,9 +374,7 @@ compress (di, v)
value on the path from V to the root. */ value on the path from V to the root. */
static inline TBB static inline TBB
eval (di, v) eval (struct dom_info *di, TBB v)
struct dom_info *di;
TBB v;
{ {
/* The representant of the set V is in, also called root (as the set /* The representant of the set V is in, also called root (as the set
representation is a tree). */ representation is a tree). */
...@@ -417,9 +403,7 @@ eval (di, v) ...@@ -417,9 +403,7 @@ eval (di, v)
of W. */ of W. */
static void static void
link_roots (di, v, w) link_roots (struct dom_info *di, TBB v, TBB w)
struct dom_info *di;
TBB v, w;
{ {
TBB s = w; TBB s = w;
...@@ -461,9 +445,7 @@ link_roots (di, v, w) ...@@ -461,9 +445,7 @@ link_roots (di, v, w)
On return the immediate dominator to node V is in di->dom[V]. */ On return the immediate dominator to node V is in di->dom[V]. */
static void static void
calc_idoms (di, reverse) calc_idoms (struct dom_info *di, enum cdi_direction reverse)
struct dom_info *di;
enum cdi_direction reverse;
{ {
TBB v, w, k, par; TBB v, w, k, par;
basic_block en_block; basic_block en_block;
...@@ -557,8 +539,7 @@ calc_idoms (di, reverse) ...@@ -557,8 +539,7 @@ calc_idoms (di, reverse)
immediate resp. all dominators). */ immediate resp. all dominators). */
dominance_info dominance_info
calculate_dominance_info (reverse) calculate_dominance_info (enum cdi_direction reverse)
enum cdi_direction reverse;
{ {
struct dom_info di; struct dom_info di;
dominance_info info; dominance_info info;
...@@ -596,8 +577,7 @@ calculate_dominance_info (reverse) ...@@ -596,8 +577,7 @@ calculate_dominance_info (reverse)
/* Free dominance information. */ /* Free dominance information. */
void void
free_dominance_info (info) free_dominance_info (dominance_info info)
dominance_info info;
{ {
basic_block bb; basic_block bb;
...@@ -616,9 +596,7 @@ free_dominance_info (info) ...@@ -616,9 +596,7 @@ free_dominance_info (info)
/* Return the immediate dominator of basic block BB. */ /* Return the immediate dominator of basic block BB. */
basic_block basic_block
get_immediate_dominator (dom, bb) get_immediate_dominator (dominance_info dom, basic_block bb)
dominance_info dom;
basic_block bb;
{ {
return et_forest_node_value (dom->forest, return et_forest_node_value (dom->forest,
et_forest_parent (dom->forest, et_forest_parent (dom->forest,
...@@ -628,9 +606,7 @@ get_immediate_dominator (dom, bb) ...@@ -628,9 +606,7 @@ get_immediate_dominator (dom, bb)
/* Set the immediate dominator of the block possibly removing /* Set the immediate dominator of the block possibly removing
existing edge. NULL can be used to remove any edge. */ existing edge. NULL can be used to remove any edge. */
inline void inline void
set_immediate_dominator (dom, bb, dominated_by) set_immediate_dominator (dominance_info dom, basic_block bb, basic_block dominated_by)
dominance_info dom;
basic_block bb, dominated_by;
{ {
void *aux_bb_node; void *aux_bb_node;
et_forest_node_t bb_node = BB_NODE (dom, bb); et_forest_node_t bb_node = BB_NODE (dom, bb);
...@@ -649,10 +625,7 @@ set_immediate_dominator (dom, bb, dominated_by) ...@@ -649,10 +625,7 @@ set_immediate_dominator (dom, bb, dominated_by)
/* Store all basic blocks dominated by BB into BBS and return their number. */ /* Store all basic blocks dominated by BB into BBS and return their number. */
int int
get_dominated_by (dom, bb, bbs) get_dominated_by (dominance_info dom, basic_block bb, basic_block **bbs)
dominance_info dom;
basic_block bb;
basic_block **bbs;
{ {
int n, i; int n, i;
...@@ -665,10 +638,7 @@ get_dominated_by (dom, bb, bbs) ...@@ -665,10 +638,7 @@ get_dominated_by (dom, bb, bbs)
/* Redirect all edges pointing to BB to TO. */ /* Redirect all edges pointing to BB to TO. */
void void
redirect_immediate_dominators (dom, bb, to) redirect_immediate_dominators (dominance_info dom, basic_block bb, basic_block to)
dominance_info dom;
basic_block bb;
basic_block to;
{ {
et_forest_node_t *bbs = xmalloc (n_basic_blocks * sizeof (basic_block)); et_forest_node_t *bbs = xmalloc (n_basic_blocks * sizeof (basic_block));
et_forest_node_t node = BB_NODE (dom, bb); et_forest_node_t node = BB_NODE (dom, bb);
...@@ -686,10 +656,7 @@ redirect_immediate_dominators (dom, bb, to) ...@@ -686,10 +656,7 @@ redirect_immediate_dominators (dom, bb, to)
/* Find first basic block in the tree dominating both BB1 and BB2. */ /* Find first basic block in the tree dominating both BB1 and BB2. */
basic_block basic_block
nearest_common_dominator (dom, bb1, bb2) nearest_common_dominator (dominance_info dom, basic_block bb1, basic_block bb2)
dominance_info dom;
basic_block bb1;
basic_block bb2;
{ {
if (!bb1) if (!bb1)
return bb2; return bb2;
...@@ -704,18 +671,14 @@ nearest_common_dominator (dom, bb1, bb2) ...@@ -704,18 +671,14 @@ nearest_common_dominator (dom, bb1, bb2)
/* Return TRUE in case BB1 is dominated by BB2. */ /* Return TRUE in case BB1 is dominated by BB2. */
bool bool
dominated_by_p (dom, bb1, bb2) dominated_by_p (dominance_info dom, basic_block bb1, basic_block bb2)
dominance_info dom;
basic_block bb1;
basic_block bb2;
{ {
return nearest_common_dominator (dom, bb1, bb2) == bb2; return nearest_common_dominator (dom, bb1, bb2) == bb2;
} }
/* Verify invariants of dominator structure. */ /* Verify invariants of dominator structure. */
void void
verify_dominators (dom) verify_dominators (dominance_info dom)
dominance_info dom;
{ {
int err = 0; int err = 0;
basic_block bb; basic_block bb;
...@@ -738,9 +701,7 @@ verify_dominators (dom) ...@@ -738,9 +701,7 @@ verify_dominators (dom)
/* Recount dominator of BB. */ /* Recount dominator of BB. */
basic_block basic_block
recount_dominator (dom, bb) recount_dominator (dominance_info dom, basic_block bb)
dominance_info dom;
basic_block bb;
{ {
basic_block dom_bb = NULL; basic_block dom_bb = NULL;
edge e; edge e;
...@@ -757,10 +718,7 @@ recount_dominator (dom, bb) ...@@ -757,10 +718,7 @@ recount_dominator (dom, bb)
/* Iteratively recount dominators of BBS. The change is supposed to be local /* Iteratively recount dominators of BBS. The change is supposed to be local
and not to grow further. */ and not to grow further. */
void void
iterate_fix_dominators (dom, bbs, n) iterate_fix_dominators (dominance_info dom, basic_block *bbs, int n)
dominance_info dom;
basic_block *bbs;
int n;
{ {
int i, changed = 1; int i, changed = 1;
basic_block old_dom, new_dom; basic_block old_dom, new_dom;
...@@ -782,9 +740,7 @@ iterate_fix_dominators (dom, bbs, n) ...@@ -782,9 +740,7 @@ iterate_fix_dominators (dom, bbs, n)
} }
void void
add_to_dominance_info (dom, bb) add_to_dominance_info (dominance_info dom, basic_block bb)
dominance_info dom;
basic_block bb;
{ {
VARRAY_GROW (dom->varray, last_basic_block + 3); VARRAY_GROW (dom->varray, last_basic_block + 3);
#ifdef ENABLE_CHECKING #ifdef ENABLE_CHECKING
...@@ -795,17 +751,14 @@ add_to_dominance_info (dom, bb) ...@@ -795,17 +751,14 @@ add_to_dominance_info (dom, bb)
} }
void void
delete_from_dominance_info (dom, bb) delete_from_dominance_info (dominance_info dom, basic_block bb)
dominance_info dom;
basic_block bb;
{ {
et_forest_remove_node (dom->forest, BB_NODE (dom, bb)); et_forest_remove_node (dom->forest, BB_NODE (dom, bb));
SET_BB_NODE (dom, bb, NULL); SET_BB_NODE (dom, bb, NULL);
} }
void void
debug_dominance_info (dom) debug_dominance_info (dominance_info dom)
dominance_info dom;
{ {
basic_block bb, bb2; basic_block bb, bb2;
FOR_EACH_BB (bb) FOR_EACH_BB (bb)
......
/* Dwarf2 assembler output helper routines. /* Dwarf2 assembler output helper routines.
Copyright (C) 2001, 2002 Free Software Foundation, Inc. Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GCC. This file is part of GCC.
...@@ -45,9 +45,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA ...@@ -45,9 +45,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
to print a newline, since the caller may want to add a comment. */ to print a newline, since the caller may want to add a comment. */
void void
dw2_assemble_integer (size, x) dw2_assemble_integer (int size, rtx x)
int size;
rtx x;
{ {
const char *op = integer_asm_op (size, FALSE); const char *op = integer_asm_op (size, FALSE);
...@@ -71,7 +69,7 @@ dw2_asm_output_data (int size, unsigned HOST_WIDE_INT value, ...@@ -71,7 +69,7 @@ dw2_asm_output_data (int size, unsigned HOST_WIDE_INT value,
const char *comment, ...) const char *comment, ...)
{ {
va_list ap; va_list ap;
va_start (ap, comment); va_start (ap, comment);
if (size * 8 < HOST_BITS_PER_WIDE_INT) if (size * 8 < HOST_BITS_PER_WIDE_INT)
...@@ -100,7 +98,7 @@ dw2_asm_output_delta (int size, const char *lab1, const char *lab2, ...@@ -100,7 +98,7 @@ dw2_asm_output_delta (int size, const char *lab1, const char *lab2,
const char *comment, ...) const char *comment, ...)
{ {
va_list ap; va_list ap;
va_start (ap, comment); va_start (ap, comment);
#ifdef ASM_OUTPUT_DWARF_DELTA #ifdef ASM_OUTPUT_DWARF_DELTA
...@@ -132,7 +130,7 @@ dw2_asm_output_offset (int size, const char *label, ...@@ -132,7 +130,7 @@ dw2_asm_output_offset (int size, const char *label,
const char *comment, ...) const char *comment, ...)
{ {
va_list ap; va_list ap;
va_start (ap, comment); va_start (ap, comment);
#ifdef ASM_OUTPUT_DWARF_OFFSET #ifdef ASM_OUTPUT_DWARF_OFFSET
...@@ -160,7 +158,7 @@ dw2_asm_output_pcrel (int size ATTRIBUTE_UNUSED, ...@@ -160,7 +158,7 @@ dw2_asm_output_pcrel (int size ATTRIBUTE_UNUSED,
const char *comment, ...) const char *comment, ...)
{ {
va_list ap; va_list ap;
va_start (ap, comment); va_start (ap, comment);
#ifdef ASM_OUTPUT_DWARF_PCREL #ifdef ASM_OUTPUT_DWARF_PCREL
...@@ -189,7 +187,7 @@ dw2_asm_output_addr (int size, const char *label, ...@@ -189,7 +187,7 @@ dw2_asm_output_addr (int size, const char *label,
const char *comment, ...) const char *comment, ...)
{ {
va_list ap; va_list ap;
va_start (ap, comment); va_start (ap, comment);
dw2_assemble_integer (size, gen_rtx_SYMBOL_REF (Pmode, label)); dw2_assemble_integer (size, gen_rtx_SYMBOL_REF (Pmode, label));
...@@ -211,7 +209,7 @@ dw2_asm_output_addr_rtx (int size, rtx addr, ...@@ -211,7 +209,7 @@ dw2_asm_output_addr_rtx (int size, rtx addr,
const char *comment, ...) const char *comment, ...)
{ {
va_list ap; va_list ap;
va_start (ap, comment); va_start (ap, comment);
dw2_assemble_integer (size, addr); dw2_assemble_integer (size, addr);
...@@ -275,8 +273,7 @@ dw2_asm_output_nstring (const char *str, size_t orig_len, ...@@ -275,8 +273,7 @@ dw2_asm_output_nstring (const char *str, size_t orig_len,
/* Return the size of an unsigned LEB128 quantity. */ /* Return the size of an unsigned LEB128 quantity. */
int int
size_of_uleb128 (value) size_of_uleb128 (unsigned HOST_WIDE_INT value)
unsigned HOST_WIDE_INT value;
{ {
int size = 0; int size = 0;
...@@ -293,8 +290,7 @@ size_of_uleb128 (value) ...@@ -293,8 +290,7 @@ size_of_uleb128 (value)
/* Return the size of a signed LEB128 quantity. */ /* Return the size of a signed LEB128 quantity. */
int int
size_of_sleb128 (value) size_of_sleb128 (HOST_WIDE_INT value)
HOST_WIDE_INT value;
{ {
int size = 0, byte; int size = 0, byte;
...@@ -315,8 +311,7 @@ size_of_sleb128 (value) ...@@ -315,8 +311,7 @@ size_of_sleb128 (value)
include leb128. */ include leb128. */
int int
size_of_encoded_value (encoding) size_of_encoded_value (int encoding)
int encoding;
{ {
if (encoding == DW_EH_PE_omit) if (encoding == DW_EH_PE_omit)
return 0; return 0;
...@@ -338,8 +333,7 @@ size_of_encoded_value (encoding) ...@@ -338,8 +333,7 @@ size_of_encoded_value (encoding)
/* Yield a name for a given pointer encoding. */ /* Yield a name for a given pointer encoding. */
const char * const char *
eh_data_format_name (format) eh_data_format_name (int format)
int format;
{ {
#if HAVE_DESIGNATED_INITIALIZERS #if HAVE_DESIGNATED_INITIALIZERS
#define S(p, v) [p] = v, #define S(p, v) [p] = v,
...@@ -501,7 +495,7 @@ dw2_asm_output_data_uleb128 (unsigned HOST_WIDE_INT value, ...@@ -501,7 +495,7 @@ dw2_asm_output_data_uleb128 (unsigned HOST_WIDE_INT value,
const char *comment, ...) const char *comment, ...)
{ {
va_list ap; va_list ap;
va_start (ap, comment); va_start (ap, comment);
#ifdef HAVE_AS_LEB128 #ifdef HAVE_AS_LEB128
...@@ -562,7 +556,7 @@ dw2_asm_output_data_sleb128 (HOST_WIDE_INT value, ...@@ -562,7 +556,7 @@ dw2_asm_output_data_sleb128 (HOST_WIDE_INT value,
const char *comment, ...) const char *comment, ...)
{ {
va_list ap; va_list ap;
va_start (ap, comment); va_start (ap, comment);
#ifdef HAVE_AS_LEB128 #ifdef HAVE_AS_LEB128
...@@ -653,7 +647,7 @@ dw2_asm_output_delta_sleb128 (const char *lab1 ATTRIBUTE_UNUSED, ...@@ -653,7 +647,7 @@ dw2_asm_output_delta_sleb128 (const char *lab1 ATTRIBUTE_UNUSED,
const char *comment, ...) const char *comment, ...)
{ {
va_list ap; va_list ap;
va_start (ap, comment); va_start (ap, comment);
#ifdef HAVE_AS_LEB128 #ifdef HAVE_AS_LEB128
...@@ -675,8 +669,8 @@ dw2_asm_output_delta_sleb128 (const char *lab1 ATTRIBUTE_UNUSED, ...@@ -675,8 +669,8 @@ dw2_asm_output_delta_sleb128 (const char *lab1 ATTRIBUTE_UNUSED,
va_end (ap); va_end (ap);
} }
static rtx dw2_force_const_mem PARAMS ((rtx)); static rtx dw2_force_const_mem (rtx);
static int dw2_output_indirect_constant_1 PARAMS ((splay_tree_node, void *)); static int dw2_output_indirect_constant_1 (splay_tree_node, void *);
static GTY((param1_is (char *), param2_is (tree))) splay_tree indirect_pool; static GTY((param1_is (char *), param2_is (tree))) splay_tree indirect_pool;
...@@ -694,8 +688,7 @@ static GTY(()) int dw2_const_labelno; ...@@ -694,8 +688,7 @@ static GTY(()) int dw2_const_labelno;
"near" the function in any interesting sense. */ "near" the function in any interesting sense. */
static rtx static rtx
dw2_force_const_mem (x) dw2_force_const_mem (rtx x)
rtx x;
{ {
splay_tree_node node; splay_tree_node node;
const char *str; const char *str;
...@@ -755,9 +748,8 @@ dw2_force_const_mem (x) ...@@ -755,9 +748,8 @@ dw2_force_const_mem (x)
splay_tree_foreach. Emit one queued constant to memory. */ splay_tree_foreach. Emit one queued constant to memory. */
static int static int
dw2_output_indirect_constant_1 (node, data) dw2_output_indirect_constant_1 (splay_tree_node node,
splay_tree_node node; void *data ATTRIBUTE_UNUSED)
void* data ATTRIBUTE_UNUSED;
{ {
const char *sym; const char *sym;
rtx sym_ref; rtx sym_ref;
...@@ -775,7 +767,7 @@ dw2_output_indirect_constant_1 (node, data) ...@@ -775,7 +767,7 @@ dw2_output_indirect_constant_1 (node, data)
/* Emit the constants queued through dw2_force_const_mem. */ /* Emit the constants queued through dw2_force_const_mem. */
void void
dw2_output_indirect_constants () dw2_output_indirect_constants (void)
{ {
if (indirect_pool) if (indirect_pool)
splay_tree_foreach (indirect_pool, dw2_output_indirect_constant_1, NULL); splay_tree_foreach (indirect_pool, dw2_output_indirect_constant_1, NULL);
...@@ -789,7 +781,7 @@ dw2_asm_output_encoded_addr_rtx (int encoding, rtx addr, ...@@ -789,7 +781,7 @@ dw2_asm_output_encoded_addr_rtx (int encoding, rtx addr,
{ {
int size; int size;
va_list ap; va_list ap;
va_start (ap, comment); va_start (ap, comment);
size = size_of_encoded_value (encoding); size = size_of_encoded_value (encoding);
......
This source diff could not be displayed because it is too large. You can view the blob instead.
/* dwarf2out.h - Various declarations for functions found in dwarf2out.c /* dwarf2out.h - Various declarations for functions found in dwarf2out.c
Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. Copyright (C) 1998, 1999, 2000, 2003
Free Software Foundation, Inc.
This file is part of GCC. This file is part of GCC.
...@@ -18,11 +19,11 @@ along with GCC; see the file COPYING. If not, write to the Free ...@@ -18,11 +19,11 @@ along with GCC; see the file COPYING. If not, write to the Free
Software Foundation, 59 Temple Place - Suite 330, Boston, MA Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA. */ 02111-1307, USA. */
extern void dwarf2out_decl PARAMS ((tree)); extern void dwarf2out_decl (tree);
extern void dwarf2out_frame_debug PARAMS ((rtx)); extern void dwarf2out_frame_debug (rtx);
extern void debug_dwarf PARAMS ((void)); extern void debug_dwarf (void);
struct die_struct; struct die_struct;
extern void debug_dwarf_die PARAMS ((struct die_struct *)); extern void debug_dwarf_die (struct die_struct *);
extern void dwarf2out_set_demangle_name_func PARAMS ((const char *(*) (const char *))); extern void dwarf2out_set_demangle_name_func (const char *(*) (const char *));
extern void dwarf2out_add_library_unit_info PARAMS ((const char *, const char *)); extern void dwarf2out_add_library_unit_info (const char *, const char *);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment