summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog49
-rw-r--r--gcc/Makefile.in2
-rw-r--r--gcc/dwarfout.c1
-rw-r--r--gcc/emit-rtl.c2
-rw-r--r--gcc/final.c4
-rw-r--r--gcc/flow.c20
-rw-r--r--gcc/ggc-callbacks.c4
-rw-r--r--gcc/hash.c2
-rw-r--r--gcc/local-alloc.c2
-rw-r--r--gcc/loop.c4
-rw-r--r--gcc/regclass.c8
-rw-r--r--gcc/reload.c1
-rw-r--r--gcc/reload1.c5
-rw-r--r--gcc/toplev.c2
-rw-r--r--gcc/tree.c2
-rw-r--r--gcc/unroll.c2
16 files changed, 87 insertions, 23 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 701b9dad772..f34fbd20f6e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,52 @@
+1999-12-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * Makefile.in (toplev.o): Depend on loop.h.
+
+ * dwarfout.c: Include tm_p.h.
+
+ * emit-rtl.c (restore_emit_status): Mark parameter with
+ ATTRIBUTE_UNUSED.
+
+ * final.c (final_scan_insn): Likewise.
+
+ * flow.c (flow_nodes_print, flow_exits_print, flow_loops_cfg_dump,
+ flow_loop_nested_p, flow_loop_exits_find, flow_loop_nodes_find,
+ flow_depth_first_order_compute, flow_loop_pre_header_find,
+ flow_loop_tree_node_add, flow_loops_tree_build,
+ flow_loop_level_compute, flow_loops_level_compute,
+ flow_loop_outside_edge_p): Add prototypes.
+ (recompute_reg_usage): Mark parameters with ATTRIBUTE_UNUSED.
+
+ * ggc-callbacks.c (lang_mark_tree, lang_mark_false_label_stack):
+ Mark with ATTRIBUTE_NORETURN.
+
+ * hash.c (hash_newfunc): Mark parameter with ATTRIBUTE_UNUSED.
+
+ * local-alloc.c (no_conflict_p): Likewise.
+
+ * loop.c (insert_bct): Hide definitions of variables with hidden
+ usage.
+ (note_reg_stored): Mark parameter with ATTRIBUTE_UNUSED.
+
+ * regclass.c (memory_move_secondary_cost): Mark variable `mem'
+ with ATTRIBUTE_UNUSED.
+ (record_reg_classes): Mark parameter with ATTRIBUTE_UNUSED.
+ (reg_scan): Likewise.
+
+ * reload.c (find_reloads): Remove unused variables `changed'.
+
+ * reload1.c (reload_reg_class_lower): Don't unnecessarily cast
+ away const-ness.
+ (allocate_reload_reg): Mark parameter with ATTRIBUTE_UNUSED.
+ Remove unused variable `insn'.
+
+ * toplev.c: Include loop.h.
+ (report_file_and_line): Remove unnecessary prototype.
+
+ * tree.c (build_block): Mark parameter with ATTRIBUTE_UNUSED.
+
+ * unroll.c (biv_total_increment): Likewise.
+
Thu Dec 23 23:15:22 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
* reload1.c (emit_input_reload_insns): Restore old behaviour
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 3b2782960d1..7c606569a97 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -1469,7 +1469,7 @@ diagnostic.o : $(CONFIG_H) system.h $(TREE_H) $(RTL_H) tm_p.h flags.h \
toplev.o : toplev.c $(CONFIG_H) system.h $(TREE_H) $(RTL_H) function.h \
flags.h input.h insn-attr.h xcoffout.h defaults.h output.h \
insn-codes.h insn-config.h intl.h $(RECOG_H) Makefile toplev.h dwarfout.h \
- dwarf2out.h sdbout.h dbxout.h $(EXPR_H) $(BASIC_BLOCK_H) graph.h \
+ dwarf2out.h sdbout.h dbxout.h $(EXPR_H) $(BASIC_BLOCK_H) graph.h loop.h \
except.h $(lang_options_files)
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(MAYBE_USE_COLLECT2) \
-DTARGET_NAME=\"$(target_alias)\" \
diff --git a/gcc/dwarfout.c b/gcc/dwarfout.c
index cb9e77ff144..4dda62688c3 100644
--- a/gcc/dwarfout.c
+++ b/gcc/dwarfout.c
@@ -34,6 +34,7 @@ Boston, MA 02111-1307, USA. */
#include "defaults.h"
#include "dwarfout.h"
#include "toplev.h"
+#include "tm_p.h"
#if defined(DWARF_TIMESTAMPS)
#if !defined(POSIX)
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index 4d407c42ffa..06f4979a876 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -1580,7 +1580,7 @@ set_new_last_label_num (last)
void
restore_emit_status (p)
- struct function *p;
+ struct function *p ATTRIBUTE_UNUSED;
{
last_label_num = 0;
clear_emit_caches ();
diff --git a/gcc/final.c b/gcc/final.c
index 20670b94974..8f49e0909b9 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -2068,9 +2068,9 @@ rtx
final_scan_insn (insn, file, optimize, prescan, nopeepholes)
rtx insn;
FILE *file;
- int optimize;
+ int optimize ATTRIBUTE_UNUSED;
int prescan;
- int nopeepholes;
+ int nopeepholes ATTRIBUTE_UNUSED;
{
#ifdef HAVE_cc0
rtx set;
diff --git a/gcc/flow.c b/gcc/flow.c
index eff2a05d686..439c95b3c01 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -348,12 +348,24 @@ static void count_reg_references PROTO ((rtx));
static void invalidate_mems_from_autoinc PROTO ((rtx));
static void remove_edge PROTO ((edge));
static void remove_fake_successors PROTO ((basic_block));
+static void flow_nodes_print PROTO ((const char *, const sbitmap, FILE *));
+static void flow_exits_print PROTO ((const char *, const edge *, int, FILE *));
+static void flow_loops_cfg_dump PROTO ((const struct loops *, FILE *));
+static int flow_loop_nested_p PROTO ((struct loop *, struct loop *));
+static int flow_loop_exits_find PROTO ((const sbitmap, edge **));
+static int flow_loop_nodes_find PROTO ((basic_block, basic_block, sbitmap));
+static int flow_depth_first_order_compute PROTO ((int *));
+static basic_block flow_loop_pre_header_find PROTO ((basic_block, const sbitmap *));
+static void flow_loop_tree_node_add PROTO ((struct loop *, struct loop *));
+static void flow_loops_tree_build PROTO ((struct loops *));
+static int flow_loop_level_compute PROTO ((struct loop *, int));
+static int flow_loops_level_compute PROTO ((struct loops *));
/* This function is always defined so it can be called from the
debugger, and it is declared extern so we don't get warnings about
it being unused. */
void verify_flow_info PROTO ((void));
-
+int flow_loop_outside_edge_p PROTO ((const struct loop *, edge));
/* Find basic blocks of the current function.
F is the first insn of the function and NREGS the number of register
@@ -5548,8 +5560,8 @@ count_reg_references (x)
void
recompute_reg_usage (f, loop_step)
- rtx f;
- int loop_step;
+ rtx f ATTRIBUTE_UNUSED;
+ int loop_step ATTRIBUTE_UNUSED;
{
rtx insn;
int i, max_reg;
@@ -6356,7 +6368,7 @@ flow_loops_cfg_dump (loops, file)
/* Return non-zero if the nodes of LOOP are a subset of OUTER. */
-int
+static int
flow_loop_nested_p (outer, loop)
struct loop *outer;
struct loop *loop;
diff --git a/gcc/ggc-callbacks.c b/gcc/ggc-callbacks.c
index 462e6905dc2..c56e13ea307 100644
--- a/gcc/ggc-callbacks.c
+++ b/gcc/ggc-callbacks.c
@@ -27,7 +27,7 @@
int ggc_p = 0;
-void
+void ATTRIBUTE_NORETURN
lang_mark_tree (t)
union tree_node *t ATTRIBUTE_UNUSED;
{
@@ -36,7 +36,7 @@ lang_mark_tree (t)
abort ();
}
-void
+void ATTRIBUTE_NORETURN
lang_mark_false_label_stack (l)
struct label_node *l ATTRIBUTE_UNUSED;
{
diff --git a/gcc/hash.c b/gcc/hash.c
index f333c6c4d70..acbcd88bde0 100644
--- a/gcc/hash.c
+++ b/gcc/hash.c
@@ -140,7 +140,7 @@ struct hash_entry *
hash_newfunc (entry, table, p)
struct hash_entry *entry;
struct hash_table *table;
- hash_table_key p;
+ hash_table_key p ATTRIBUTE_UNUSED;
{
if (entry == (struct hash_entry *) NULL)
entry = ((struct hash_entry *)
diff --git a/gcc/local-alloc.c b/gcc/local-alloc.c
index 3907a45808c..e077a12fd48 100644
--- a/gcc/local-alloc.c
+++ b/gcc/local-alloc.c
@@ -2148,7 +2148,7 @@ post_mark_life (regno, mode, life, birth, death)
static int
no_conflict_p (insn, r0, r1)
- rtx insn, r0, r1;
+ rtx insn, r0 ATTRIBUTE_UNUSED, r1;
{
int ok = 0;
rtx note = find_reg_note (insn, REG_LIBCALL, NULL_RTX);
diff --git a/gcc/loop.c b/gcc/loop.c
index ff22cbd634e..7f186c6505f 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -9344,6 +9344,7 @@ insert_bct (loop_start, loop_end, loop_info)
int i;
unsigned HOST_WIDE_INT n_iterations;
+#if 0
int increment_direction, compare_direction;
/* If the loop condition is <= or >=, the number of iteration
@@ -9351,6 +9352,7 @@ insert_bct (loop_start, loop_end, loop_info)
int add_iteration = 0;
enum machine_mode loop_var_mode = word_mode;
+#endif
int loop_num = uid_loop_num [INSN_UID (loop_start)];
@@ -10020,7 +10022,7 @@ struct note_reg_stored_arg
is equal to ARG. */
static void
note_reg_stored (x, setter, arg)
- rtx x, setter;
+ rtx x, setter ATTRIBUTE_UNUSED;
void *arg;
{
struct note_reg_stored_arg *t = (struct note_reg_stored_arg *)arg;
diff --git a/gcc/regclass.c b/gcc/regclass.c
index 1ae876a6d3f..4344c58701e 100644
--- a/gcc/regclass.c
+++ b/gcc/regclass.c
@@ -503,7 +503,9 @@ memory_move_secondary_cost (mode, class, in)
enum reg_class altclass;
int partial_cost = 0;
/* We need a memory reference to feed to SECONDARY... macros. */
- rtx mem = top_of_stack[(int) mode];
+ /* mem may be unused even if the SECONDARY_ macros are defined. */
+ rtx mem ATTRIBUTE_UNUSED = top_of_stack[(int) mode];
+
if (in)
{
@@ -1204,7 +1206,7 @@ record_reg_classes (n_alts, n_ops, ops, modes, subreg_changes_size,
int n_ops;
rtx *ops;
enum machine_mode *modes;
- char *subreg_changes_size;
+ char *subreg_changes_size ATTRIBUTE_UNUSED;
const char **constraints;
rtx insn;
{
@@ -2101,7 +2103,7 @@ void
reg_scan (f, nregs, repeat)
rtx f;
int nregs;
- int repeat;
+ int repeat ATTRIBUTE_UNUSED;
{
register rtx insn;
diff --git a/gcc/reload.c b/gcc/reload.c
index bcaef6cf534..985fd831f25 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -2393,7 +2393,6 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
int goal_alternative_swapped;
int best;
int commutative;
- int changed;
char operands_match[MAX_RECOG_OPERANDS][MAX_RECOG_OPERANDS];
rtx substed_operand[MAX_RECOG_OPERANDS];
rtx body = PATTERN (insn);
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 6affa682069..65020442344 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -1441,7 +1441,7 @@ reload_reg_class_lower (r1p, r2p)
const PTR r1p;
const PTR r2p;
{
- register int r1 = *(short *)r1p, r2 = *(short *)r2p;
+ register int r1 = *(const short *)r1p, r2 = *(const short *)r2p;
register int t;
/* Consider required reloads before optional ones. */
@@ -4900,11 +4900,10 @@ set_reload_reg (i, r)
static int
allocate_reload_reg (chain, r, last_reload)
- struct insn_chain *chain;
+ struct insn_chain *chain ATTRIBUTE_UNUSED;
int r;
int last_reload;
{
- rtx insn = chain->insn;
int i, pass, count;
/* If we put this reload ahead, thinking it is a group,
diff --git a/gcc/toplev.c b/gcc/toplev.c
index a8dd7b2a517..a6e7c0ef798 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -57,6 +57,7 @@ Boston, MA 02111-1307, USA. */
#include "intl.h"
#include "ggc.h"
#include "graph.h"
+#include "loop.h"
#ifdef DWARF_DEBUGGING_INFO
#include "dwarfout.h"
@@ -167,7 +168,6 @@ static void dump_rtl PROTO((const char *, tree, void (*) (FILE *, rtx), rtx));
static void clean_dump_file PROTO((const char *));
static void compile_file PROTO((char *));
static void display_help PROTO ((void));
-static void report_file_and_line PROTO ((const char *, int, int));
static void mark_file_stack PROTO ((void *));
static void decode_d_option PROTO ((const char *));
diff --git a/gcc/tree.c b/gcc/tree.c
index dd8a6d4994a..c9d9e365da4 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -3314,7 +3314,7 @@ build_decl (code, name, type)
tree
build_block (vars, tags, subblocks, supercontext, chain)
- tree vars, tags, subblocks, supercontext, chain;
+ tree vars, tags ATTRIBUTE_UNUSED, subblocks, supercontext, chain;
{
register tree block = make_node (BLOCK);
diff --git a/gcc/unroll.c b/gcc/unroll.c
index 5b359a9962e..6b2b53e9989 100644
--- a/gcc/unroll.c
+++ b/gcc/unroll.c
@@ -2381,7 +2381,7 @@ fold_rtx_mult_add (mult1, mult2, add1, mode)
rtx
biv_total_increment (bl, loop_start, loop_end)
struct iv_class *bl;
- rtx loop_start, loop_end;
+ rtx loop_start ATTRIBUTE_UNUSED, loop_end ATTRIBUTE_UNUSED;
{
struct induction *v;
rtx result;