Searched refs:PGO (Results 1 - 9 of 9) sorted by relevance

/external/clang/lib/CodeGen/
H A DCodeGenPGO.h1 //===--- CodeGenPGO.h - PGO Instrumentation for LLVM CodeGen ----*- C++ -*-===//
29 /// Per-function PGO state. This class should generally not be used directly,
51 /// Whether or not we have PGO region data for the current function. This is
97 /// Calculate branch weights appropriate for PGO data
102 /// Assign counters to regions and configure them for PGO of a given
104 /// generates global variables or associates PGO data with each of the
148 /// which clients manage PGO counters and their values.
150 CodeGenPGO *PGO; member in class:clang::CodeGen::RegionCounter
157 RegionCounter(CodeGenPGO &PGO, unsigned CounterIndex) argument
158 : PGO(
162 RegionCounter(CodeGenPGO &PGO, const Stmt *S) argument
[all...]
H A DCodeGenPGO.cpp1 //===--- CodeGenPGO.cpp - PGO Instrumentation for LLVM CodeGen --*- C++ -*-===//
32 // naming convention. Do not include that '1' in the PGO profile name.
205 /// \brief Stable hasher for PGO region counters.
266 /// A RecursiveASTVisitor that fills a map of statements to PGO counters.
359 /// PGO state.
360 CodeGenPGO &PGO; member in struct:__anon17861::ComputeRegionCounts
378 CodeGenPGO &PGO)
379 : PGO(PGO), RecordNextStmtCount(false), CountMap(CountMap) {}
383 CountMap[S] = PGO
377 ComputeRegionCounts(llvm::DenseMap<const Stmt *, uint64_t> &CountMap, CodeGenPGO &PGO) argument
[all...]
H A DCGStmt.cpp47 PGO.setCurrentStmt(S);
679 PGO.createLoopWeights(S.getCond(), Cnt));
762 PGO.createLoopWeights(S.getCond(), Cnt));
838 PGO.createLoopWeights(S.getCond(), Cnt));
922 BoolCondVal, ForBody, ExitBlock, PGO.createLoopWeights(S.getCond(), Cnt));
1153 Weights = PGO.createBranchWeights(ThisCount, DefaultCount);
1526 if (PGO.haveRegionCounts()) {
1592 PGO.createBranchWeights(*SwitchWeights));
2154 PGO.assignRegionCounters(CD, F);
2157 PGO
[all...]
H A DCodeGenFunction.cpp46 PGO(cgm), SwitchInsn(nullptr), SwitchWeights(nullptr),
803 PGO.assignRegionCounters(GD.getDecl(), CurFn);
864 PGO.emitInstrumentationData();
865 PGO.destroyRegionCounters();
1065 uint64_t FalseCount = PGO.getCurrentRegionCount() - TrueCount;
1081 // When computing PGO branch weights, we only know the overall count for
1120 uint64_t CurrentCount = std::max(PGO.getCurrentRegionCount(), TrueCount);
1121 llvm::MDNode *Weights = PGO.createBranchWeights(TrueCount,
H A DCGObjC.cpp505 PGO.assignRegionCounters(OMD, CurFn);
511 PGO.emitInstrumentationData();
512 PGO.destroyRegionCounters();
1515 uint64_t EntryCount = PGO.getCurrentRegionCount();
1519 PGO.createBranchWeights(EntryCount, Cnt.getCount()));
1662 PGO.createBranchWeights(Cnt.getCount(), EntryCount));
H A DCGBlocks.cpp1198 PGO.assignRegionCounters(blockDecl, fn);
1202 PGO.emitInstrumentationData();
1203 PGO.destroyRegionCounters();
H A DCodeGenFunction.h837 CodeGenPGO PGO; member in class:clang::CodeGen::CodeGenFunction
843 return RegionCounter(PGO, S);
850 /// The branch weights of SwitchInsn when doing instrumentation based PGO.
2497 /// evaluate to true based on PGO data.
H A DCGCall.cpp2462 PGO.setCurrentRegionUnreachable();
H A DCGExpr.cpp89 PGO.setCurrentStmt(E);

Completed in 527 milliseconds