diff options
author | Martin Sebor <msebor@redhat.com> | 2021-02-03 10:23:06 -0700 |
---|---|---|
committer | Martin Sebor <msebor@redhat.com> | 2021-02-03 10:23:53 -0700 |
commit | 5c3d388aee5609d32bd8e3ba1add776b1a6f0d1f (patch) | |
tree | 6d34e22331f05cccb1d9e90c86b49aae5dc7f0ae | |
parent | 1f69e63cfcc664fd7382dd877846007652a01dcf (diff) | |
download | gcc-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.c | 9 |
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. */ |