diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2020-04-20 17:23:21 +0200 |
---|---|---|
committer | Aldy Hernandez <aldyh@redhat.com> | 2020-04-20 17:23:21 +0200 |
commit | c0f9a600cc15bc83067d16c768bbf26409260bbc (patch) | |
tree | 88d417859f76f037fac04e845611e8cec7e527e4 | |
parent | 6b179b967a7e8f915f3aa0fc7dfe5f919f66ca59 (diff) | |
download | gcc-c0f9a600cc15bc83067d16c768bbf26409260bbc.zip gcc-c0f9a600cc15bc83067d16c768bbf26409260bbc.tar.gz gcc-c0f9a600cc15bc83067d16c768bbf26409260bbc.tar.bz2 |
Grow logical_stmt cache as needed.
-rw-r--r-- | gcc/gimple-range-gori.cc | 7 |
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; |