[llvm] [BOLT][NFC] Clean up MCF (PR #93065)
via llvm-commits
llvm-commits at lists.llvm.org
Wed May 22 09:28:50 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-bolt
Author: Amir Ayupov (aaupov)
<details>
<summary>Changes</summary>
Drop unimplemented solveMCF and remnants of it.
---
Full diff: https://github.com/llvm/llvm-project/pull/93065.diff
2 Files Affected:
- (modified) bolt/include/bolt/Passes/MCF.h (-24)
- (modified) bolt/lib/Passes/MCF.cpp (-13)
``````````diff
diff --git a/bolt/include/bolt/Passes/MCF.h b/bolt/include/bolt/Passes/MCF.h
index feac7f88ac11e..4b87401498fa5 100644
--- a/bolt/include/bolt/Passes/MCF.h
+++ b/bolt/include/bolt/Passes/MCF.h
@@ -15,14 +15,6 @@ namespace bolt {
class BinaryFunction;
class DataflowInfoManager;
-enum MCFCostFunction : char {
- MCF_DISABLE = 0,
- MCF_LINEAR,
- MCF_QUADRATIC,
- MCF_LOG,
- MCF_BLAMEFTS
-};
-
/// Implement the idea in "SamplePGO - The Power of Profile Guided Optimizations
/// without the Usability Burden" by Diego Novillo to make basic block counts
/// equal if we show that A dominates B, B post-dominates A and they are in the
@@ -33,22 +25,6 @@ void equalizeBBCounts(DataflowInfoManager &Info, BinaryFunction &BF);
/// we only have bb count.
void estimateEdgeCounts(BinaryFunction &BF);
-/// Entry point for computing a min-cost flow for the CFG with the goal
-/// of fixing the flow of the CFG edges, that is, making sure it obeys the
-/// flow-conservation equation SumInEdges = SumOutEdges.
-///
-/// To do this, we create an instance of the min-cost flow problem in a
-/// similar way as the one discussed in the work of Roy Levin "Completing
-/// Incomplete Edge Profile by Applying Minimum Cost Circulation Algorithms".
-/// We do a few things differently, though. We don't populate edge counts using
-/// weights coming from a static branch prediction technique and we don't
-/// use the same cost function.
-///
-/// If cost function BlameFTs is used, assign all remaining flow to
-/// fall-throughs. This is used when the sampling is based on taken branches
-/// that do not account for them.
-void solveMCF(BinaryFunction &BF, MCFCostFunction CostFunction);
-
} // end namespace bolt
} // end namespace llvm
diff --git a/bolt/lib/Passes/MCF.cpp b/bolt/lib/Passes/MCF.cpp
index c3898d2dce989..b2723cd8dcb8b 100644
--- a/bolt/lib/Passes/MCF.cpp
+++ b/bolt/lib/Passes/MCF.cpp
@@ -29,19 +29,10 @@ namespace opts {
extern cl::OptionCategory BoltOptCategory;
-extern cl::opt<bool> TimeOpts;
-
static cl::opt<bool> IterativeGuess(
"iterative-guess",
cl::desc("in non-LBR mode, guess edge counts using iterative technique"),
cl::Hidden, cl::cat(BoltOptCategory));
-
-static cl::opt<bool> UseRArcs(
- "mcf-use-rarcs",
- cl::desc("in MCF, consider the possibility of cancelling flow to balance "
- "edges"),
- cl::Hidden, cl::cat(BoltOptCategory));
-
} // namespace opts
namespace llvm {
@@ -462,9 +453,5 @@ void estimateEdgeCounts(BinaryFunction &BF) {
recalculateBBCounts(BF, /*AllEdges=*/false);
}
-void solveMCF(BinaryFunction &BF, MCFCostFunction CostFunction) {
- llvm_unreachable("not implemented");
-}
-
} // namespace bolt
} // namespace llvm
``````````
</details>
https://github.com/llvm/llvm-project/pull/93065
More information about the llvm-commits
mailing list