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);

Reply via email to