aboutsummaryrefslogtreecommitdiff
path: root/gcc/conflict.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/conflict.c')
-rw-r--r--gcc/conflict.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/gcc/conflict.c b/gcc/conflict.c
index 99cd9ca..d1fb129 100644
--- a/gcc/conflict.c
+++ b/gcc/conflict.c
@@ -449,20 +449,20 @@ conflict_graph_compute (regs, p)
{
int b;
conflict_graph graph = conflict_graph_new (max_reg_num ());
+ regset_head live_head;
+ regset live = &live_head;
+ regset_head born_head;
+ regset born = &born_head;
+
+ INIT_REG_SET (live);
+ INIT_REG_SET (born);
for (b = n_basic_blocks; --b >= 0; )
{
basic_block bb = BASIC_BLOCK (b);
- regset_head live_head;
- regset live = &live_head;
- regset_head born_head;
- regset born = &born_head;
rtx insn;
rtx head;
- INIT_REG_SET (live);
- INIT_REG_SET (born);
-
/* Start with the regs that are live on exit, limited to those
we're interested in. */
COPY_REG_SET (live, bb->global_live_at_end);
@@ -524,5 +524,8 @@ conflict_graph_compute (regs, p)
}
}
+ FREE_REG_SET (live);
+ FREE_REG_SET (born);
+
return graph;
}