LLVM 20.0.0git
|
Diagnostic information for optimization analysis remarks. More...
#include "llvm/CodeGen/MachineOptimizationRemarkEmitter.h"
Public Member Functions | |
MachineOptimizationRemarkAnalysis (const char *PassName, StringRef RemarkName, const DiagnosticLocation &Loc, const MachineBasicBlock *MBB) | |
PassName is the name of the pass emitting this diagnostic. | |
MachineOptimizationRemarkAnalysis (const char *PassName, StringRef RemarkName, const MachineInstr *MI) | |
bool | isEnabled () const override |
Public Member Functions inherited from llvm::DiagnosticInfoMIROptimization | |
DiagnosticInfoMIROptimization (enum DiagnosticKind Kind, const char *PassName, StringRef RemarkName, const DiagnosticLocation &Loc, const MachineBasicBlock *MBB) | |
const MachineBasicBlock * | getBlock () const |
Public Member Functions inherited from llvm::DiagnosticInfoOptimizationBase | |
DiagnosticInfoOptimizationBase (enum DiagnosticKind Kind, enum DiagnosticSeverity Severity, const char *PassName, StringRef RemarkName, const Function &Fn, const DiagnosticLocation &Loc) | |
PassName is the name of the pass emitting this diagnostic. | |
void | insert (StringRef S) |
void | insert (Argument A) |
void | insert (setIsVerbose V) |
void | insert (setExtraArgs EA) |
void | print (DiagnosticPrinter &DP) const override |
virtual bool | isEnabled () const =0 |
Return true if this optimization remark is enabled by one of of the LLVM command line flags (-pass-remarks, -pass-remarks-missed, or -pass-remarks-analysis). | |
StringRef | getPassName () const |
StringRef | getRemarkName () const |
std::string | getMsg () const |
std::optional< uint64_t > | getHotness () const |
void | setHotness (std::optional< uint64_t > H) |
bool | isVerbose () const |
ArrayRef< Argument > | getArgs () const |
bool | isPassed () const |
bool | isMissed () const |
bool | isAnalysis () const |
Public Member Functions inherited from llvm::DiagnosticInfoWithLocationBase | |
DiagnosticInfoWithLocationBase (enum DiagnosticKind Kind, enum DiagnosticSeverity Severity, const Function &Fn, const DiagnosticLocation &Loc) | |
Fn is the function where the diagnostic is being emitted. | |
bool | isLocationAvailable () const |
Return true if location information is available for this diagnostic. | |
std::string | getLocationStr () const |
Return a string with the location information for this diagnostic in the format "file:line:col". | |
void | getLocation (StringRef &RelativePath, unsigned &Line, unsigned &Column) const |
Return location information for this diagnostic in three parts: the relative source file path, line number and column. | |
std::string | getAbsolutePath () const |
Return the absolute path tot the file. | |
const Function & | getFunction () const |
DiagnosticLocation | getLocation () const |
Public Member Functions inherited from llvm::DiagnosticInfo | |
DiagnosticInfo (int Kind, DiagnosticSeverity Severity) | |
virtual | ~DiagnosticInfo ()=default |
int | getKind () const |
DiagnosticSeverity | getSeverity () const |
virtual void | print (DiagnosticPrinter &DP) const =0 |
Print using the given DP a user-friendly message. | |
Static Public Member Functions | |
static bool | classof (const DiagnosticInfo *DI) |
Static Public Member Functions inherited from llvm::DiagnosticInfoMIROptimization | |
static bool | classof (const DiagnosticInfo *DI) |
Static Public Member Functions inherited from llvm::DiagnosticInfoOptimizationBase | |
static bool | classof (const DiagnosticInfo *DI) |
Additional Inherited Members | |
Protected Attributes inherited from llvm::DiagnosticInfoOptimizationBase | |
const char * | PassName |
Name of the pass that triggers this report. | |
StringRef | RemarkName |
Textual identifier for the remark (single-word, camel-case). | |
std::optional< uint64_t > | Hotness |
If profile information is available, this is the number of times the corresponding code was executed in a profile instrumentation run. | |
SmallVector< Argument, 4 > | Args |
Arguments collected via the streaming interface. | |
bool | IsVerbose = false |
The remark is expected to be noisy. | |
int | FirstExtraArgIndex = -1 |
If positive, the index of the first argument that only appear in the optimization records and not in the remark printed in the compiler output. | |
Diagnostic information for optimization analysis remarks.
Definition at line 111 of file MachineOptimizationRemarkEmitter.h.
|
inline |
PassName
is the name of the pass emitting this diagnostic.
If this name matches the regular expression given in -Rpass-analysis=, then the diagnostic will be emitted. RemarkName
is a textual identifier for the remark. Loc
is the debug location and MBB
is the block that the optimization operates in.
Definition at line 118 of file MachineOptimizationRemarkEmitter.h.
References MBB.
|
inline |
Definition at line 124 of file MachineOptimizationRemarkEmitter.h.
|
inlinestatic |
Definition at line 130 of file MachineOptimizationRemarkEmitter.h.
References llvm::DK_MachineOptimizationRemarkAnalysis, and llvm::DiagnosticInfo::getKind().
|
inlineoverridevirtual |
Implements llvm::DiagnosticInfoOptimizationBase.
Definition at line 135 of file MachineOptimizationRemarkEmitter.h.
References llvm::Function::getContext(), llvm::LLVMContext::getDiagHandlerPtr(), llvm::DiagnosticInfoWithLocationBase::getFunction(), llvm::DiagnosticInfoOptimizationBase::getPassName(), and llvm::DiagnosticHandler::isAnalysisRemarkEnabled().