Per-function PGO state. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/CodeGenPGO.h"
Per-function PGO state.
Definition at line 29 of file CodeGenPGO.h.
◆ CodeGenPGO() ◆ assignRegionCounters() void CodeGenPGO::assignRegionCounters ( GlobalDecl GD, llvm::Function * Fn )Assign counters to regions and configure them for PGO of a given function.
Does nothing if instrumentation is not enabled and either generates global variables or associates PGO data with each of the counters depending on whether we are generating or using instrumentation.
Definition at line 1012 of file CodeGenPGO.cpp.
References clang::CodeGen::CodeGenModule::ClearUnusedCoverageMapping(), clang::Ctor_Base, D, clang::Dtor_Base, clang::CodeGen::CodeGenModule::getCodeGenOpts(), clang::CodeGen::CodeGenModule::getContext(), clang::GlobalDecl::getCtorType(), clang::TargetInfo::getCXXABI(), clang::GlobalDecl::getDecl(), clang::GlobalDecl::getDtorType(), clang::CodeGen::CodeGenModule::getLangOpts(), clang::Decl::getLocation(), clang::CodeGen::CodeGenModule::getPGOReader(), clang::ASTContext::getSourceManager(), clang::CodeGen::CodeGenModule::getTarget(), clang::Decl::hasAttr(), clang::Decl::hasBody(), clang::TargetCXXABI::hasConstructorVariants(), clang::CodeGenOptions::hasProfileClangInstr(), clang::CodeGen::CodeGenFunction::IsConstructorDelegationValid(), clang::Decl::isImplicit(), SM, and llvm::coverage::SystemHeadersCoverage.
◆ emitCounterSetOrIncrement() void CodeGenPGO::emitCounterSetOrIncrement ( CGBuilderTy & Builder, const Stmt * S, llvm::Value * StepV ) ◆ emitEmptyCounterMapping() void CodeGenPGO::emitEmptyCounterMapping ( const Decl * D, StringRef FuncName, llvm::GlobalValue::LinkageTypes Linkage ) ◆ emitMCDCCondBitmapReset() ◆ emitMCDCCondBitmapUpdate() ◆ emitMCDCParameters() void CodeGenPGO::emitMCDCParameters ( CGBuilderTy & Builder ) ◆ emitMCDCTestVectorBitmapUpdate() ◆ getCurrentRegionCount() uint64_t clang::CodeGen::CodeGenPGO::getCurrentRegionCount ( ) const inlineReturn the counter value of the current region.
Definition at line 56 of file CodeGenPGO.h.
◆ getIsCounterPair() ◆ getRegionCount() uint64_t clang::CodeGen::CodeGenPGO::getRegionCount ( const Stmt * S ) inline ◆ getStmtCount() std::optional< uint64_t > clang::CodeGen::CodeGenPGO::getStmtCount ( const Stmt * S ) const inlineCheck if an execution count is known for a given statement.
If so, return true and put the value in Count; else return false.
Definition at line 65 of file CodeGenPGO.h.
Referenced by setCurrentStmt().
◆ haveRegionCounts() bool clang::CodeGen::CodeGenPGO::haveRegionCounts ( ) const inlineWhether or not we have PGO region data for the current function.
This is false both when we have no data at all and when our data has been discarded.
Definition at line 53 of file CodeGenPGO.h.
Referenced by getRegionCount(), and valueProfile().
◆ markStmtAsUsed() void clang::CodeGen::CodeGenPGO::markStmtAsUsed ( bool Skipped, const Stmt * S ) inlineDefinition at line 126 of file CodeGenPGO.h.
◆ markStmtMaybeUsed() void clang::CodeGen::CodeGenPGO::markStmtMaybeUsed ( const Stmt * S ) inlineDefinition at line 130 of file CodeGenPGO.h.
◆ setCurrentRegionCount() void clang::CodeGen::CodeGenPGO::setCurrentRegionCount ( uint64_t Count ) inlineSet the counter value for the current region.
This is used to keep track of changes to the most recent counter from control flow and non-local exits.
Definition at line 61 of file CodeGenPGO.h.
Referenced by setCurrentStmt().
◆ setCurrentStmt() void clang::CodeGen::CodeGenPGO::setCurrentStmt ( const Stmt * S ) inline ◆ setProfileVersion() void CodeGenPGO::setProfileVersion ( llvm::Module & M ) ◆ setValueProfilingFlag() void CodeGenPGO::setValueProfilingFlag ( llvm::Module & M ) ◆ valueProfile() void CodeGenPGO::valueProfile ( CGBuilderTy & Builder, uint32_t ValueKind, llvm::Instruction * ValueSite, llvm::Value * ValuePtr ) ◆ verifyCounterMap() void clang::CodeGen::CodeGenPGO::verifyCounterMap ( ) const inlineDefinition at line 134 of file CodeGenPGO.h.
The documentation for this class was generated from the following files:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4