aboutsummaryrefslogtreecommitdiff
path: root/gcc/conflict.c
diff options
context:
space:
mode:
authorAlex Samuel <samuel@codesourcery.com>2000-04-07 08:16:31 +0000
committerAlex Samuel <samuel@gcc.gnu.org>2000-04-07 08:16:31 +0000
commit62771d518605d12ca322cf35c20ba5164b5b9c5e (patch)
tree2f24d8de38b69abb4dd23349b4e66e1a4932fb5a /gcc/conflict.c
parent4eda98a61fa962aab795830c0c9661c0c81d7a62 (diff)
downloadgcc-62771d518605d12ca322cf35c20ba5164b5b9c5e.zip
gcc-62771d518605d12ca322cf35c20ba5164b5b9c5e.tar.gz
gcc-62771d518605d12ca322cf35c20ba5164b5b9c5e.tar.bz2
ssa.c (compute_conservative_reg_partition): Declare with void arguments.
* 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. From-SVN: r32992
Diffstat (limited to 'gcc/conflict.c')
-rw-r--r--gcc/conflict.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/gcc/conflict.c b/gcc/conflict.c
index 51851a2..667a18a6 100644
--- a/gcc/conflict.c
+++ b/gcc/conflict.c
@@ -201,21 +201,20 @@ conflict_graph_add (graph, reg1, reg2)
{
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. */
@@ -234,9 +233,7 @@ conflict_graph_add (graph, reg1, reg2)
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;
}
@@ -532,4 +529,3 @@ conflict_graph_compute (regs, p)
return graph;
}
-