]> granicus.if.org Git - llvm/commitdiff
[RegisterBankInfo] Add statistics for dynamic value mappings.
authorQuentin Colombet <qcolombet@apple.com>
Sat, 24 Sep 2016 04:53:55 +0000 (04:53 +0000)
committerQuentin Colombet <qcolombet@apple.com>
Sat, 24 Sep 2016 04:53:55 +0000 (04:53 +0000)
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

lib/CodeGen/GlobalISel/RegisterBankInfo.cpp

index 9c1f97e4c87d186c7455e14af305ad0a986980c2..52963caa8bf77f76c4c686f0cfde88d992bea6cc 100644 (file)
@@ -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;