aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2020-04-20 17:23:21 +0200
committerAldy Hernandez <aldyh@redhat.com>2020-04-20 17:23:21 +0200
commitc0f9a600cc15bc83067d16c768bbf26409260bbc (patch)
tree88d417859f76f037fac04e845611e8cec7e527e4
parent6b179b967a7e8f915f3aa0fc7dfe5f919f66ca59 (diff)
downloadgcc-c0f9a600cc15bc83067d16c768bbf26409260bbc.zip
gcc-c0f9a600cc15bc83067d16c768bbf26409260bbc.tar.gz
gcc-c0f9a600cc15bc83067d16c768bbf26409260bbc.tar.bz2
Grow logical_stmt cache as needed.
-rw-r--r--gcc/gimple-range-gori.cc7
1 files changed, 2 insertions, 5 deletions
diff --git a/gcc/gimple-range-gori.cc b/gcc/gimple-range-gori.cc
index e58fb4b..f6d9be6 100644
--- a/gcc/gimple-range-gori.cc
+++ b/gcc/gimple-range-gori.cc
@@ -1331,7 +1331,7 @@ private:
logical_stmt_cache::logical_stmt_cache ()
{
- m_ssa_cache.create (num_ssa_names);
+ m_ssa_cache.create (num_ssa_names + num_ssa_names / 10);
m_ssa_cache.safe_grow_cleared (num_ssa_names);
}
@@ -1362,9 +1362,8 @@ logical_stmt_cache::set_range (gimple *stmt, tree carrier, tree name,
{
unsigned version = SSA_NAME_VERSION (carrier);
- // If pass added SSA values after gori started, give up.
if (version >= m_ssa_cache.length ())
- return;
+ m_ssa_cache.safe_grow_cleared (num_ssa_names + num_ssa_names / 10);
cache_entry *slot = m_ssa_cache[version];
if (slot)
@@ -1460,8 +1459,6 @@ logical_stmt_cache::cached_name (tree carrier) const
{
unsigned version = SSA_NAME_VERSION (carrier);
- // ?? Someone created an SSA after gori started.
- // Perhaps we should start the cache size at 2 * num_ssa_names ??
if (version >= m_ssa_cache.length ())
return NULL;