From: Quentin Colombet Date: Sat, 24 Sep 2016 04:53:55 +0000 (+0000) Subject: [RegisterBankInfo] Add statistics for dynamic value mappings. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d1ab1038828fe5c283de44e3cab2caa6f0cc3fd1;p=llvm [RegisterBankInfo] Add statistics for dynamic value mappings. Like partial mappings, as we move toward TableGen'ed information, the number should reach zero eventually. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@282325 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp b/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp index 9c1f97e4c87..52963caa8bf 100644 --- a/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp +++ b/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp @@ -37,6 +37,10 @@ STATISTIC(NumPartialMappingsCreated, "Number of partial mappings dynamically created"); STATISTIC(NumPartialMappingsAccessed, "Number of partial mappings dynamically accessed"); +STATISTIC(NumValueMappingsCreated, + "Number of value mappings dynamically created"); +STATISTIC(NumValueMappingsAccessed, + "Number of value mappings dynamically accessed"); const unsigned RegisterBankInfo::DefaultMappingID = UINT_MAX; const unsigned RegisterBankInfo::InvalidMappingID = UINT_MAX - 1; @@ -364,10 +368,14 @@ RegisterBankInfo::getValueMapping(const PartialMapping *BreakDown, Hash = hash_combine_range(Hashes.begin(), Hashes.end()); } + ++NumValueMappingsAccessed; + const auto &It = MapOfValueMappings.find(Hash); if (It != MapOfValueMappings.end()) return *It->second; + ++NumValueMappingsCreated; + ValueMapping *&ValMapping = MapOfValueMappings[Hash]; ValMapping = new ValueMapping{BreakDown, NumBreakDowns}; return *ValMapping;