[compiler-rt] [llvm] [PGO] Add option to always instrumenting loop entries (PR #116789)
Christian Ulmann via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 21 05:46:51 PST 2024
================
@@ -291,10 +301,14 @@ template <class Edge, class BBInfo> class CFGMST {
return *AllEdges.back();
}
- CFGMST(Function &Func, bool InstrumentFuncEntry,
+ CFGMST(Function &Func, bool InstrumentFuncEntry, bool InstrumentLoopEntries,
BranchProbabilityInfo *BPI = nullptr,
- BlockFrequencyInfo *BFI = nullptr)
- : F(Func), BPI(BPI), BFI(BFI), InstrumentFuncEntry(InstrumentFuncEntry) {
+ BlockFrequencyInfo *BFI = nullptr, LoopInfo *LI = nullptr)
+ : F(Func), BPI(BPI), BFI(BFI), LI(LI),
+ InstrumentFuncEntry(InstrumentFuncEntry),
+ InstrumentLoopEntries(InstrumentLoopEntries) {
+ assert(!(InstrumentLoopEntries && !LI) &&
+ "expected a LoopInfo to instrumenting loop entries");
buildEdges();
sortEdgesByWeight();
computeMinimumSpanningTree();
----------------
Dinistro wrote:
Could you elaborate what exactly you mean by this? Assert in the end that all loop entries are instrumented or what exactly?
https://github.com/llvm/llvm-project/pull/116789
More information about the llvm-commits
mailing list