diff options
author | Martin Liska <mliska@suse.cz> | 2015-06-01 14:44:17 +0200 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2015-06-01 12:44:17 +0000 |
commit | 3599f64ae2483163e83f8626c1d157030227f229 (patch) | |
tree | 5d4c0fca5b1daad5e822cb9068afede673209f24 /gcc | |
parent | 8bb6373a9467e08c9023d22ada5f76d6911a78b8 (diff) | |
download | gcc-3599f64ae2483163e83f8626c1d157030227f229.zip gcc-3599f64ae2483163e83f8626c1d157030227f229.tar.gz gcc-3599f64ae2483163e83f8626c1d157030227f229.tar.bz2 |
Change use to type-based pool allocator in ira-build.c.
* ira-build.c (initiate_cost_vectors): Use new type-based pool allocator.
(ira_allocate_cost_vector): Likewise.
(ira_free_cost_vector): Likewise.
(finish_cost_vectors): Likewise.
From-SVN: r223960
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/ira-build.c | 15 |
2 files changed, 14 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 42b5670..ca520cc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 2015-06-01 Martin Liska <mliska@suse.cz> + * ira-build.c (initiate_cost_vectors): Use new type-based pool allocator. + (ira_allocate_cost_vector): Likewise. + (ira_free_cost_vector): Likewise. + (finish_cost_vectors): Likewise. + +2015-06-01 Martin Liska <mliska@suse.cz> + * sel-sched-ir.c (alloc_sched_pools): Use new type-based pool allocator. (free_sched_pools): Likewise. * sel-sched-ir.h (_list_alloc): Likewise. diff --git a/gcc/ira-build.c b/gcc/ira-build.c index 8b6b956..2de7d34 100644 --- a/gcc/ira-build.c +++ b/gcc/ira-build.c @@ -1633,7 +1633,7 @@ finish_copies (void) /* Pools for cost vectors. It is defined only for allocno classes. */ -static alloc_pool cost_vector_pool[N_REG_CLASSES]; +static pool_allocator<int> * cost_vector_pool[N_REG_CLASSES]; /* The function initiates work with hard register cost vectors. It creates allocation pool for each allocno class. */ @@ -1646,10 +1646,9 @@ initiate_cost_vectors (void) for (i = 0; i < ira_allocno_classes_num; i++) { aclass = ira_allocno_classes[i]; - cost_vector_pool[aclass] - = create_alloc_pool ("cost vectors", - sizeof (int) * ira_class_hard_regs_num[aclass], - 100); + cost_vector_pool[aclass] = new pool_allocator<int> + ("cost vectors", 100, + sizeof (int) * (ira_class_hard_regs_num[aclass] - 1)); } } @@ -1657,7 +1656,7 @@ initiate_cost_vectors (void) int * ira_allocate_cost_vector (reg_class_t aclass) { - return (int *) pool_alloc (cost_vector_pool[(int) aclass]); + return cost_vector_pool[(int) aclass]->allocate (); } /* Free a cost vector VEC for ACLASS. */ @@ -1665,7 +1664,7 @@ void ira_free_cost_vector (int *vec, reg_class_t aclass) { ira_assert (vec != NULL); - pool_free (cost_vector_pool[(int) aclass], vec); + cost_vector_pool[(int) aclass]->remove (vec); } /* Finish work with hard register cost vectors. Release allocation @@ -1679,7 +1678,7 @@ finish_cost_vectors (void) for (i = 0; i < ira_allocno_classes_num; i++) { aclass = ira_allocno_classes[i]; - free_alloc_pool (cost_vector_pool[aclass]); + delete cost_vector_pool[aclass]; } } |