LLVM 22.0.0git
CtxProfAnalysis.cpp File Reference

Go to the source code of this file.

Classes

class  llvm::ProfileAnnotatorImpl

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.

Macros

#define DEBUG_TYPE   "ctx_prof"

Functions

template<class ProfTy>
static void preorderVisitOneRoot (ProfTy &Profile, function_ref< void(ProfTy &)> Visitor)
template<class ProfilesTy, class ProfTy>
static void preorderVisit (ProfilesTy &Profiles, function_ref< void(ProfTy &)> Visitor)

Variables

cl::opt< std::stringUseCtxProfile ("use-ctx-profile", cl::init(""), cl::Hidden, cl::desc("Use the specified contextual profile file"))
static cl::opt< CtxProfAnalysisPrinterPass::PrintModePrintLevel ("ctx-profile-printer-level", cl::init(CtxProfAnalysisPrinterPass::PrintMode::YAML), cl::Hidden, cl::values(clEnumValN(CtxProfAnalysisPrinterPass::PrintMode::Everything, "everything", "print everything - most verbose"), clEnumValN(CtxProfAnalysisPrinterPass::PrintMode::YAML, "yaml", "just the yaml representation of the profile")), cl::desc("Verbosity level of the contextual profile printer pass."))
static cl::opt< boolForceIsInSpecializedModule ("ctx-profile-force-is-specialized", cl::init(false), cl::desc("Treat the given module as-if it were containing the " "post-thinlink module containing the root"))

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "ctx_prof"

Definition at line 30 of file CtxProfAnalysis.cpp.

Function Documentation

◆ preorderVisit()

template<class ProfilesTy, class ProfTy>
void preorderVisit ( ProfilesTy & Profiles,
function_ref< void(ProfTy &)> Visitor )
static

Definition at line 637 of file CtxProfAnalysis.cpp.

References _, P, and preorderVisitOneRoot().

Referenced by llvm::PGOContextualProfile::visit().

◆ preorderVisitOneRoot()

template<class ProfTy>
void preorderVisitOneRoot ( ProfTy & Profile,
function_ref< void(ProfTy &)> Visitor )
static

Variable Documentation

◆ ForceIsInSpecializedModule

cl::opt< bool > ForceIsInSpecializedModule("ctx-profile-force-is-specialized", cl::init(false), cl::desc("Treat the given module as-if it were containing the " "post-thinlink module containing the root")) ( "ctx-profile-force-is-specialized" ,
cl::init(false) ,
cl::desc("Treat the given module as-if it were containing the " "post-thinlink module containing the root")  )
static

◆ PrintLevel

cl::opt< CtxProfAnalysisPrinterPass::PrintMode > PrintLevel("ctx-profile-printer-level", cl::init(CtxProfAnalysisPrinterPass::PrintMode::YAML), cl::Hidden, cl::values(clEnumValN(CtxProfAnalysisPrinterPass::PrintMode::Everything, "everything", "print everything - most verbose"), clEnumValN(CtxProfAnalysisPrinterPass::PrintMode::YAML, "yaml", "just the yaml representation of the profile")), cl::desc("Verbosity level of the contextual profile printer pass.")) ( "ctx-profile-printer-level" ,
cl::init(CtxProfAnalysisPrinterPass::PrintMode::YAML) ,
cl::Hidden ,
cl::values(clEnumValN(CtxProfAnalysisPrinterPass::PrintMode::Everything, "everything", "print everything - most verbose"), clEnumValN(CtxProfAnalysisPrinterPass::PrintMode::YAML, "yaml", "just the yaml representation of the profile")) ,
cl::desc("Verbosity level of the contextual profile printer pass.")  )
static

◆ UseCtxProfile

cl::opt< std::string > UseCtxProfile("use-ctx-profile", cl::init(""), cl::Hidden, cl::desc("Use the specified contextual profile file")) ( "use-ctx-profile" ,
cl::init("") ,
cl::Hidden ,
cl::desc("Use the specified contextual profile file")  )