http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48403
--- Comment #18 from Steven Bosscher <steven at gcc dot gnu.org> 2011-04-02 19:16:17 UTC --- Something appears to be wrong with the allocation of scheduled_insns: * It is VEC_alloc'ed on the heap in sched_extend_ready_list() but it is never VEC_free'ed. * It is allocated if sched_ready_n_insns == -1, which is the initial state ("static int sched_ready_n_insns = -1;") and also the state after sched_finish_ready_list(). Therefore, AFAICU, a schedule_insns VEC is leaked for each region. I would have VEC_alloc'ed schedule_insns once, at the start of the scheduler, and VEC_reserve elements in sched_extend_ready_list(). But I am not sufficiently familiar with the scheduler to propose a patch.