LLVM 20.0.0git
Namespaces | Macros | Functions | Variables
CtxProfAnalysis.cpp File Reference
#include "llvm/Analysis/CtxProfAnalysis.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/IR/Analysis.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/PassManager.h"
#include "llvm/ProfileData/PGOCtxProfReader.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/JSON.h"
#include "llvm/Support/MemoryBuffer.h"

Go to the source code of this file.

Namespaces

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

Macros

#define DEBUG_TYPE   "ctx_prof"
 

Functions

Value llvm::json::toJSON (const PGOCtxProfContext &P)
 
Value llvm::json::toJSON (const PGOCtxProfContext::CallTargetMapTy &P)
 
template<class ProfilesTy , class ProfTy >
static void preorderVisit (ProfilesTy &Profiles, function_ref< void(ProfTy &)> Visitor)
 

Variables

cl::opt< std::string > UseCtxProfile ("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::JSON), cl::Hidden, cl::values(clEnumValN(CtxProfAnalysisPrinterPass::PrintMode::Everything, "everything", "print everything - most verbose"), clEnumValN(CtxProfAnalysisPrinterPass::PrintMode::JSON, "json", "just the json representation of the profile")), cl::desc("Verbosity level of the contextual profile printer pass."))
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "ctx_prof"

Definition at line 25 of file CtxProfAnalysis.cpp.

Function Documentation

◆ preorderVisit()

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

Definition at line 268 of file CtxProfAnalysis.cpp.

References _, and P.

Referenced by llvm::PGOContextualProfile::flatten(), and llvm::PGOContextualProfile::visit().

Variable Documentation

◆ PrintLevel

cl::opt< CtxProfAnalysisPrinterPass::PrintMode > PrintLevel("ctx-profile-printer-level", cl::init(CtxProfAnalysisPrinterPass::PrintMode::JSON), cl::Hidden, cl::values(clEnumValN(CtxProfAnalysisPrinterPass::PrintMode::Everything, "everything", "print everything - most verbose"), clEnumValN(CtxProfAnalysisPrinterPass::PrintMode::JSON, "json", "just the json representation of the profile")), cl::desc("Verbosity level of the contextual profile printer pass.")) ( "ctx-profile-printer-level"  ,
cl::init(CtxProfAnalysisPrinterPass::PrintMode::JSON)  ,
cl::Hidden  ,
cl::values(clEnumValN(CtxProfAnalysisPrinterPass::PrintMode::Everything, "everything", "print everything - most verbose"), clEnumValN(CtxProfAnalysisPrinterPass::PrintMode::JSON, "json", "just the json 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")   
)