aboutsummaryrefslogtreecommitdiff
path: root/bolt
diff options
context:
space:
mode:
authorAmir Ayupov <aaupov@fb.com>2024-05-22 09:32:06 -0700
committerGitHub <noreply@github.com>2024-05-22 09:32:06 -0700
commit37e4945a8ac26fbeccb1626dbc4a1ffa7b5825d6 (patch)
tree49fa46c7f26522fa6344e1525357976202afba5f /bolt
parentc8fc234ee28d0e2a10bd88bae391cb3e32e2ee77 (diff)
downloadllvm-37e4945a8ac26fbeccb1626dbc4a1ffa7b5825d6.zip
llvm-37e4945a8ac26fbeccb1626dbc4a1ffa7b5825d6.tar.gz
llvm-37e4945a8ac26fbeccb1626dbc4a1ffa7b5825d6.tar.bz2
[BOLT][NFC] Clean up MCF (#93065)
Drop unimplemented solveMCF and remnants of it.
Diffstat (limited to 'bolt')
-rw-r--r--bolt/include/bolt/Passes/MCF.h24
-rw-r--r--bolt/lib/Passes/MCF.cpp13
2 files changed, 0 insertions, 37 deletions
diff --git a/bolt/include/bolt/Passes/MCF.h b/bolt/include/bolt/Passes/MCF.h
index feac7f8..4b87401 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 c3898d2..b2723cd 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