LLVM 22.0.0git
llvm::OptimizationRemarkMissed Class Reference

Diagnostic information for missed-optimization remarks. More...

#include "llvm/IR/DiagnosticInfo.h"

Inheritance diagram for llvm::OptimizationRemarkMissed:
[legend]

Public Member Functions

 OptimizationRemarkMissed (const char *PassName, StringRef RemarkName, const DiagnosticLocation &Loc, const BasicBlock *CodeRegion)
 PassName is the name of the pass emitting this diagnostic.
 OptimizationRemarkMissed (const char *PassName, StringRef RemarkName, const Instruction *Inst)
 Same as above but Inst is used to derive code region and debug location.
 OptimizationRemarkMissed (const char *PassName, StringRef RemarkName, const Function *F)
 Same as above but F is used to derive code region and debug location.
bool isEnabled () const override
Public Member Functions inherited from llvm::DiagnosticInfoIROptimization
 DiagnosticInfoIROptimization (enum DiagnosticKind Kind, enum DiagnosticSeverity Severity, const char *PassName, StringRef RemarkName, const Function &Fn, const DiagnosticLocation &Loc, const BasicBlock *CodeRegion=nullptr)
 PassName is the name of the pass emitting this diagnostic.
 DiagnosticInfoIROptimization (const char *PassName, StringRef Prepend, const DiagnosticInfoIROptimization &Orig)
 This is ctor variant allows a pass to build an optimization remark from an existing remark.
 DiagnosticInfoIROptimization (enum DiagnosticKind Kind, enum DiagnosticSeverity Severity, const char *PassName, const Function &Fn, const DiagnosticLocation &Loc, const Twine &Msg)
 Legacy interface.
const BasicBlockgetCodeRegion () 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
StringRef getPassName () const
StringRef getRemarkName () const
std::string getMsg () const
std::optional< uint64_tgetHotness () const
void setHotness (std::optional< uint64_t > H)
bool isVerbose () const
ArrayRef< ArgumentgetArgs () 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 FunctiongetFunction () 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

Static Public Member Functions

static bool classof (const DiagnosticInfo *DI)
Static Public Member Functions inherited from llvm::DiagnosticInfoIROptimization
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 charPassName
 Name of the pass that triggers this report.
StringRef RemarkName
 Textual identifier for the remark (single-word, CamelCase).
std::optional< uint64_tHotness
 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.

Detailed Description

Diagnostic information for missed-optimization remarks.

Definition at line 809 of file DiagnosticInfo.h.

Constructor & Destructor Documentation

◆ OptimizationRemarkMissed() [1/3]

OptimizationRemarkMissed::OptimizationRemarkMissed ( const char * PassName,
StringRef RemarkName,
const DiagnosticLocation & Loc,
const BasicBlock * CodeRegion )

PassName is the name of the pass emitting this diagnostic.

If this name matches the regular expression given in -Rpass-missed=, then the diagnostic will be emitted. RemarkName is a textual identifier for the remark (single-word, CamelCase). Loc is the debug location and CodeRegion is the region that the optimization operates on.

Definition at line 324 of file DiagnosticInfo.cpp.

References llvm::DiagnosticInfoIROptimization::DiagnosticInfoIROptimization(), llvm::DK_OptimizationRemarkMissed, llvm::DS_Remark, getParent(), llvm::DiagnosticInfoOptimizationBase::PassName, and llvm::DiagnosticInfoOptimizationBase::RemarkName.

◆ OptimizationRemarkMissed() [2/3]

OptimizationRemarkMissed::OptimizationRemarkMissed ( const char * PassName,
StringRef RemarkName,
const Instruction * Inst )

◆ OptimizationRemarkMissed() [3/3]

OptimizationRemarkMissed::OptimizationRemarkMissed ( const char * PassName,
StringRef RemarkName,
const Function * F )

Member Function Documentation

◆ classof()

bool llvm::OptimizationRemarkMissed::classof ( const DiagnosticInfo * DI)
inlinestatic

◆ isEnabled()


The documentation for this class was generated from the following files: