Hi! alloc_succs_info creates vectors up to and including succs_info_pool.max_top, so without the following fix we leak the last set of 3 vectors.
Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2013-03-04 Jakub Jelinek <ja...@redhat.com> PR middle-end/56461 * sel-sched-ir.c (free_sched_pools): Release succs_info_pool.stack[succs_info_pool.max_top] vectors too if succs_info_pool.max_top isn't -1. --- gcc/sel-sched-ir.c.jj 2013-02-27 14:59:51.000000000 +0100 +++ gcc/sel-sched-ir.c 2013-03-04 17:47:34.705686637 +0100 @@ -5020,7 +5020,7 @@ free_sched_pools (void) free_alloc_pool (sched_lists_pool); gcc_assert (succs_info_pool.top == -1); - for (i = 0; i < succs_info_pool.max_top; i++) + for (i = 0; i <= succs_info_pool.max_top; i++) { succs_info_pool.stack[i].succs_ok.release (); succs_info_pool.stack[i].succs_other.release (); Jakub