[NFC][SimplifyCFG] Add statistic to `FoldBranchToCommonDest()` fold
authorRoman Lebedev <lebedev.ri@gmail.com>
Thu, 26 Nov 2020 11:58:28 +0000 (14:58 +0300)
committerRoman Lebedev <lebedev.ri@gmail.com>
Thu, 26 Nov 2020 19:51:21 +0000 (22:51 +0300)
llvm/lib/Transforms/Utils/SimplifyCFG.cpp

index 7aeeee4..0f4c1b4 100644 (file)
@@ -159,6 +159,8 @@ STATISTIC(
     NumLookupTablesHoles,
     "Number of switch instructions turned into lookup tables (holes checked)");
 STATISTIC(NumTableCmpReuses, "Number of reused switch table lookup compares");
+STATISTIC(NumFoldBranchToCommonDest,
+          "Number of branches folded into predecessor basic block");
 STATISTIC(
     NumHoistCommonCode,
     "Number of common instruction 'blocks' hoisted up to the begin block");
@@ -2710,6 +2712,12 @@ bool llvm::FoldBranchToCommonDest(BranchInst *BI, MemorySSAUpdater *MSSAU,
   const unsigned PredCount = pred_size(BB);
 
   bool Changed = false;
+
+  auto _ = make_scope_exit([&]() {
+    if (Changed)
+      ++NumFoldBranchToCommonDest;
+  });
+
   TargetTransformInfo::TargetCostKind CostKind =
     BB->getParent()->hasMinSize() ? TargetTransformInfo::TCK_CodeSize
                                   : TargetTransformInfo::TCK_SizeAndLatency;