+2000-04-06 Alex Samuel <samuel@codesourcery.com>
+
+ * ssa.c (compute_conservative_reg_partition): Declare with
+ void arguments.
+ * toplev.c (clean_dump_file): Remove previously-deleted function
+ inadvertantly merged back in.
+ * conflict.c (conflict_graph_add): Use a single call to
+ htab_find_slot to look up and insert.
+
2000-04-06 Richard Henderson <rth@cygnus.com>
* genrecog.c (*): Rename _last_insn to last_insn.
{
int smaller = MIN (reg1, reg2);
int larger = MAX (reg1, reg2);
+ struct conflict_graph_arc_def dummy;
conflict_graph_arc arc;
- void **hash_table_slot;
+ void **slot;
/* A reg cannot conflict with itself. */
if (reg1 == reg2)
abort ();
- /* If the conflict is already there, do nothing.
-
- FIXME: This is a little wastful; it would be faster to look up the
- conflict in the hash table, returning it if it exists and
- inserting a new entry if it doesn't, all in one operation. This
- would save an extra hash lookup. However, the hashtab interface
- doesn't really allow this right now. */
- if (conflict_graph_conflict_p (graph, reg1, reg2))
+ dummy.smaller = smaller;
+ dummy.larger = larger;
+ slot = htab_find_slot (graph->arc_hash_table, (void *) &dummy, 1);
+
+ /* If the conflict is already there, do nothing. */
+ if (*slot != NULL)
return 0;
/* Allocate an arc. */
graph->neighbor_heads[larger] = arc;
/* Put it in the hash table. */
- hash_table_slot = htab_find_slot (graph->arc_hash_table,
- (void *) arc, 1);
- *hash_table_slot = (void *) arc;
+ *slot = (void *) arc;
return 1;
}
return graph;
}
-
static int make_equivalent_phi_alternatives_equivalent
PARAMS ((int bb, partition reg_partition));
static partition compute_conservative_reg_partition
- PARAMS (());
+ PARAMS ((void));
static int rename_equivalent_regs_in_insn
PARAMS ((rtx *ptr, void *data));
});
}
-/* Routine to empty a dump file. */
-static void
-clean_dump_file (suffix)
- const char *suffix;
-{
- char * const dumpname = concat (dump_base_name, suffix, NULL);
-
- rtl_dump_file = fopen (dumpname, "w");
-
- if (rtl_dump_file == NULL)
- pfatal_with_name (dumpname);
-
- free (dumpname);
-
- fclose (rtl_dump_file);
- rtl_dump_file = NULL;
-
- return;
-}
-
/* Do any final processing required for the declarations in VEC, of
which there are LEN. We write out inline functions and variables
that have been deferred until this point, but which are required.