diff options
author | Amir Ayupov <aaupov@fb.com> | 2024-05-22 09:32:06 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-22 09:32:06 -0700 |
commit | 37e4945a8ac26fbeccb1626dbc4a1ffa7b5825d6 (patch) | |
tree | 49fa46c7f26522fa6344e1525357976202afba5f /bolt | |
parent | c8fc234ee28d0e2a10bd88bae391cb3e32e2ee77 (diff) | |
download | llvm-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.h | 24 | ||||
-rw-r--r-- | bolt/lib/Passes/MCF.cpp | 13 |
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 |