summaryrefslogtreecommitdiff
path: root/gcc/conflict.c
diff options
context:
space:
mode:
authorMichael Hayes <m.hayes@elec.canterbury.ac.nz>2002-01-12 04:14:50 +0000
committerMichael Hayes <m.hayes@gcc.gnu.org>2002-01-12 04:14:50 +0000
commitcdb574d383b485bbee692ab4763fb1ac4be5e34d (patch)
tree47df6508da9cc82385c9decb1dd19e83285dd868 /gcc/conflict.c
parentcf11ac5596a2a5f7ebb0f8269e45aac2f85954df (diff)
downloadgcc-cdb574d383b485bbee692ab4763fb1ac4be5e34d.tar.gz
conflict.c (conflict_graph_compute): Free regsets when finished.
* conflict.c (conflict_graph_compute): Free regsets when finished. * ssa.c (compute_coalesced_reg_partition): Likewise. From-SVN: r48792
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 99cd9ca1efa..d1fb1293cf9 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;
}