diff options
| author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-03-17 11:42:10 +0000 |
|---|---|---|
| committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-03-17 11:42:10 +0000 |
| commit | 743ff5bb00319c4c8fa363ee296fd859b4b115ca (patch) | |
| tree | 2e8f849edd69fd0c862b6e5e9fb8dbca94b8dad0 | |
| parent | ff813ae9ec8e95ba714b89ac83707f1bc87bad6a (diff) | |
| download | ppe42-gcc-743ff5bb00319c4c8fa363ee296fd859b4b115ca.tar.gz ppe42-gcc-743ff5bb00319c4c8fa363ee296fd859b4b115ca.zip | |
* cfgrtl.c (rtl_create_basic_block): Pre-allocate basic_block_info
array.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79585 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/cfgrtl.c | 8 |
2 files changed, 11 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2cfe0c100fa..ea5a37daabe 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-03-17 Jan Hubicka <jh@suse.cz> + + * cfgrtl.c (rtl_create_basic_block): Pre-allocate basic_block_info + array. + 2004-03-17 James E Wilson <wilson@specifixinc.com> * config/mips/mips.md (zero_extendsidi2): Add length attribute. diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c index 3363a2d9720..f38c53c5eda 100644 --- a/gcc/cfgrtl.c +++ b/gcc/cfgrtl.c @@ -338,8 +338,12 @@ rtl_create_basic_block (void *headp, void *endp, basic_block after) rtx head = headp, end = endp; basic_block bb; - /* Place the new block just after the end. */ - VARRAY_GROW (basic_block_info, last_basic_block + 1); + /* Grow the basic block array if needed. */ + if ((size_t) last_basic_block >= VARRAY_SIZE (basic_block_info)) + { + size_t new_size = last_basic_block + (last_basic_block + 3) / 4; + VARRAY_GROW (basic_block_info, new_size); + } n_basic_blocks++; |

