I noticed while working on PR98863 that we were using the main obstack to allocate temporary uses. That was safe, but represents a kind of local memory leak.
Tested on aarch64-linux-gnu and x86_64-linux-gnu, pushed as obvious. Richard gcc/ * rtl-ssa/accesses.cc (function_info::make_use_available): Use m_temp_obstack rather than m_obstack to allocate the temporary use. --- gcc/rtl-ssa/accesses.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/rtl-ssa/accesses.cc b/gcc/rtl-ssa/accesses.cc index 992a54c29a2..5023d55852f 100644 --- a/gcc/rtl-ssa/accesses.cc +++ b/gcc/rtl-ssa/accesses.cc @@ -1290,7 +1290,7 @@ function_info::make_use_available (use_info *use, bb_info *bb) // Create a temporary placeholder phi. This will become // permanent if the change is later committed. phi = allocate_temp<phi_info> (phi_insn, resource, 0); - auto *input = allocate<use_info> (phi, resource, ultimate_def); + auto *input = allocate_temp<use_info> (phi, resource, ultimate_def); input->m_is_temp = true; phi->m_is_temp = true; phi->make_degenerate (input);