aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Sebor <msebor@redhat.com>2021-02-03 10:23:06 -0700
committerMartin Sebor <msebor@redhat.com>2021-02-03 10:23:53 -0700
commit5c3d388aee5609d32bd8e3ba1add776b1a6f0d1f (patch)
tree6d34e22331f05cccb1d9e90c86b49aae5dc7f0ae
parent1f69e63cfcc664fd7382dd877846007652a01dcf (diff)
downloadgcc-5c3d388aee5609d32bd8e3ba1add776b1a6f0d1f.zip
gcc-5c3d388aee5609d32bd8e3ba1add776b1a6f0d1f.tar.gz
gcc-5c3d388aee5609d32bd8e3ba1add776b1a6f0d1f.tar.bz2
PR tree-optimization/98937 - pointer_query cache leaks
gcc/ChangeLog: PR tree-optimization/98937 * tree-ssa-strlen.c (strlen_dom_walker::~strlen_dom_walker): Define. Flush pointer_query cache.
-rw-r--r--gcc/tree-ssa-strlen.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/tree-ssa-strlen.c b/gcc/tree-ssa-strlen.c
index c6f7405..8912a11 100644
--- a/gcc/tree-ssa-strlen.c
+++ b/gcc/tree-ssa-strlen.c
@@ -5491,6 +5491,8 @@ public:
m_cleanup_cfg (false)
{ }
+ ~strlen_dom_walker ();
+
virtual edge before_dom_children (basic_block);
virtual void after_dom_children (basic_block);
@@ -5508,6 +5510,13 @@ public:
bool m_cleanup_cfg;
};
+/* Release pointer_query cache. */
+
+strlen_dom_walker::~strlen_dom_walker ()
+{
+ ptr_qry.flush_cache ();
+}
+
/* Callback for walk_dominator_tree. Attempt to optimize various
string ops by remembering string lengths pointed by pointer SSA_NAMEs. */