Using auto_vec rather than vec for means the vectors are release
automatically upon return, to stop the leak. The problem seems is that
auto_vec<T, N> is not really move-aware, only the <T, 0> specialization
is.
gcc/ChangeLog:
* tree-profile.cc (find_conditions): Use auto_vec without
embedded storage.
make_top_index (fnblocks, ctx.B1, ctx.top_index);
/* Bin the Boolean expressions so that exprs[id] -> [x1, x2, ...]. */
- hash_map<int_hash<unsigned, 0>, auto_vec<basic_block, 8>> exprs;
+ hash_map<int_hash<unsigned, 0>, auto_vec<basic_block>> exprs;
for (basic_block b : fnblocks)
{
const unsigned uid = condition_uid (fn, b);