diff options
author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1997-07-14 10:50:48 +0000 |
---|---|---|
committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1997-07-14 10:50:48 +0000 |
commit | d168ff402065777deca089c25c32750be00743a9 (patch) | |
tree | 77565e1f3364d43945e4b20bde06dcc3ecaa4b1b /gcc/regclass.c | |
parent | 500993f87c908101009c8226957ae27e23ded53f (diff) | |
download | gcc-d168ff402065777deca089c25c32750be00743a9.tar.gz |
(init_reg_sets): Invoke INIT_ONCE_REG_SET.
(allocate_reg_info): Invoke MAX_REGNO_REG_SET.
(regset_release_memory): Free basic_block_live_at_start storage.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14424 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/regclass.c')
-rw-r--r-- | gcc/regclass.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/gcc/regclass.c b/gcc/regclass.c index a8a1c6e7301..f3bdc7ff997 100644 --- a/gcc/regclass.c +++ b/gcc/regclass.c @@ -1,5 +1,5 @@ /* Compute register class preferences for pseudo-registers. - Copyright (C) 1987, 88, 91, 92, 93, 94, 96, 1997 Free Software Foundation, Inc. + Copyright (C) 1987, 88, 91-96, 1997 Free Software Foundation, Inc. This file is part of GNU CC. @@ -346,6 +346,9 @@ init_reg_sets () may_move_cost[i][j] = cost; } + + /* Do any additional initialization regsets may need */ + INIT_ONCE_REG_SET (); } /* After switches have been processed, which perhaps alter @@ -1729,6 +1732,9 @@ allocate_reg_info (num_regs, new_p, renumber_p) if (renumber_p) reg_renumber = renumber; + /* Tell the regset code about the new number of registers */ + MAX_REGNO_REG_SET (num_regs, new_p, renumber_p); + regno_max = num_regs; } @@ -1943,3 +1949,17 @@ reg_classes_intersect_p (c1, c2) return 0; } +/* Release any memory allocated by register sets. */ + +void +regset_release_memory () +{ + if (basic_block_live_at_start) + { + free_regset_vector (basic_block_live_at_start, n_basic_blocks); + basic_block_live_at_start = 0; + } + + FREE_REG_SET (regs_live_at_setjmp); + bitmap_release_memory (); +} |