summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2022-03-15 17:55:14 -0400
committerDavid Malcolm <dmalcolm@redhat.com>2022-03-15 17:55:14 -0400
commita58e342d8869c571476c76d0ed95488adbde26bd (patch)
tree633b6b9dee317232f2563b82f6404d8258dcd7db
parentb5baf569f77e1f172061642d4d8593e1ea737add (diff)
analyzer: presize m_cluster_map in store copy ctor
Testing cc1 on pr93032-mztools-unsigned-char.c Benchmark #1: (without patch) Time (mean ± σ): 338.8 ms ± 13.6 ms [User: 323.2 ms, System: 14.2 ms] Range (min … max): 326.7 ms … 363.1 ms 10 runs Benchmark #2: (with patch) Time (mean ± σ): 332.3 ms ± 12.8 ms [User: 316.6 ms, System: 14.3 ms] Range (min … max): 322.5 ms … 357.4 ms 10 runs Summary ./cc1.new ran 1.02 ± 0.06 times faster than ./cc1.old gcc/analyzer/ChangeLog: * store.cc (store::store): Presize m_cluster_map. Signed-off-by: David Malcolm <dmalcolm@redhat.com>
-rw-r--r--gcc/analyzer/store.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/analyzer/store.cc b/gcc/analyzer/store.cc
index 58df7aab8a2..ec11433dffc 100644
--- a/gcc/analyzer/store.cc
+++ b/gcc/analyzer/store.cc
@@ -2032,7 +2032,8 @@ store::store ()
/* store's copy ctor. */
store::store (const store &other)
-: m_called_unknown_fn (other.m_called_unknown_fn)
+: m_cluster_map (other.m_cluster_map.elements ()),
+ m_called_unknown_fn (other.m_called_unknown_fn)
{
for (cluster_map_t::iterator iter = other.m_cluster_map.begin ();
iter != other.m_cluster_map.end ();