diff options
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/lra-lives.c | 4 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e955e41..fb7e4f0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2015-11-11 Martin Liska <mliska@suse.cz> + Richard Biener <rguenther@suse.de> + + PR rtl-optimization/68287 + * lra-lives.c (lra_create_live_ranges_1): Reserve the right + number of elements. + 2015-11-11 Simon Dardis <simon.dardis@imgtec.com> * config/mips/mips.c (mips_breakable_sequence_p): New function. diff --git a/gcc/lra-lives.c b/gcc/lra-lives.c index 9453759..5f76a87 100644 --- a/gcc/lra-lives.c +++ b/gcc/lra-lives.c @@ -1241,8 +1241,8 @@ lra_create_live_ranges_1 (bool all_p, bool dead_insn_p) unused_set = sparseset_alloc (max_regno); curr_point = 0; unsigned new_length = get_max_uid () * 2; - if (point_freq_vec.length () < new_length) - point_freq_vec.safe_grow (new_length); + point_freq_vec.truncate (0); + point_freq_vec.reserve_exact (new_length); lra_point_freq = point_freq_vec.address (); int *post_order_rev_cfg = XNEWVEC (int, last_basic_block_for_fn (cfun)); int n_blocks_inverted = inverted_post_order_compute (post_order_rev_cfg); |