diff options
author | Steven Bosscher <stevenb@suse.de> | 2004-11-10 09:28:29 +0000 |
---|---|---|
committer | Steven Bosscher <steven@gcc.gnu.org> | 2004-11-10 09:28:29 +0000 |
commit | dda49b66a42edfaec8b1e8a88ab17902725cc2a2 (patch) | |
tree | 2efa314b6281d1e40cb30483e9f8f23f9c5ce242 /gcc/basic-block.h | |
parent | 780f9446a96b40740a25da0db150fa3e8184fbfc (diff) | |
download | gcc-dda49b66a42edfaec8b1e8a88ab17902725cc2a2.zip gcc-dda49b66a42edfaec8b1e8a88ab17902725cc2a2.tar.gz gcc-dda49b66a42edfaec8b1e8a88ab17902725cc2a2.tar.bz2 |
basic-block.h (XMALLOC_REG_SET, [...]): New.
* basic-block.h (XMALLOC_REG_SET, XFREE_REG_SET): New.
(struct basic_block_def): Remove local_set and cond_local_set
fields. Update comment for global_live_at_start.
* flow.c (calculate_global_regs_live): Allocate local_sets and
cond_local_sets here as arrays of bitmaps previously stored in
bb->local_set and bb->cond_local_set. Use xmalloc instead of
obstack allocated bitmaps.
From-SVN: r90390
Diffstat (limited to 'gcc/basic-block.h')
-rw-r--r-- | gcc/basic-block.h | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/gcc/basic-block.h b/gcc/basic-block.h index 7e61a1a..7ef4a46 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -110,6 +110,12 @@ typedef bitmap_iterator reg_set_iterator; /* Do any cleanup needed on a regset when it is no longer used. */ #define FREE_REG_SET(REGSET) BITMAP_FREE(REGSET) +/* Allocate a register set with xmalloc. */ +#define XMALLOC_REG_SET() BITMAP_XMALLOC () + +/* Free a register set. */ +#define XFREE_REG_SET(REGSET) BITMAP_XFREE (REGSET) + /* Do any one-time initializations needed for regsets. */ #define INIT_ONCE_REG_SET() BITMAP_INIT_ONCE () @@ -229,20 +235,9 @@ struct basic_block_def GTY((chain_next ("%h.next_bb"), chain_prev ("%h.prev_bb") VEC(edge) *preds; VEC(edge) *succs; - /* Liveness info. */ - - /* The registers that are modified within this in block. */ - bitmap GTY ((skip (""))) local_set; - /* The registers that are conditionally modified within this block. - In other words, registers that are set only as part of a - COND_EXEC. */ - bitmap GTY ((skip (""))) cond_local_set; - /* The registers that are live on entry to this block. - - Note that in SSA form, global_live_at_start does not reflect the - use of regs in phi functions, since the liveness of these regs - may depend on which edge was taken into the block. */ + /* The registers that are live on entry to this block. */ bitmap GTY ((skip (""))) global_live_at_start; + /* The registers that are live on exit from this block. */ bitmap GTY ((skip (""))) global_live_at_end; |