From 65db7d38e0502db7b5753e974e630fd1663cb65b Mon Sep 17 00:00:00 2001 From: Roman Lebedev Date: Thu, 26 Nov 2020 14:58:28 +0300 Subject: [PATCH] [NFC][SimplifyCFG] Add statistic to `FoldBranchToCommonDest()` fold --- llvm/lib/Transforms/Utils/SimplifyCFG.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp index 7aeeee4188ed..0f4c1b4038e5 100644 --- a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp +++ b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp @@ -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;