LLVM: llvm::OptimizationRemarkAnalysis Class Reference (original) (raw)

Diagnostic information for optimization analysis remarks. More...

#include "[llvm/IR/DiagnosticInfo.h](DiagnosticInfo%5F8h%5Fsource.html)"

Public Member Functions
OptimizationRemarkAnalysis (const char *PassName, StringRef RemarkName, const DiagnosticLocation &Loc, const Value *CodeRegion)
PassName is the name of the pass emitting this diagnostic.
OptimizationRemarkAnalysis (const char *PassName, StringRef Prepend, const OptimizationRemarkAnalysis &Orig)
This is ctor variant allows a pass to build an optimization remark from an existing remark.
OptimizationRemarkAnalysis (const char *PassName, StringRef RemarkName, const Instruction *Inst)
Same as above but Inst is used to derive code region and debug location.
OptimizationRemarkAnalysis (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
bool shouldAlwaysPrint () const
- 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 Value *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 Value * getCodeRegion () 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::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 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 853 of file DiagnosticInfo.h.

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 (single-word, camel-case). [Loc](namespacellvm%5F1%5F1Loc.html) is the debug location and CodeRegion is the region that the optimization operates on (currently only block is supported).

Definition at line 344 of file DiagnosticInfo.cpp.

OptimizationRemarkAnalysis() [2/6]

This is ctor variant allows a pass to build an optimization remark from an existing remark.

This is useful when a transformation pass (e.g LV) wants to emit a remark (Orig) generated by one of its analyses (e.g. LAA) as its own analysis remark. The string Prepend will be emitted before the original message.

Definition at line 872 of file DiagnosticInfo.h.

OptimizationRemarkAnalysis() [3/6]

Same as above but Inst is used to derive code region and debug location.

Definition at line 351 of file DiagnosticInfo.cpp.

OptimizationRemarkAnalysis() [4/6]

Same as above but F is used to derive code region and debug location.

Definition at line 366 of file DiagnosticInfo.cpp.

OptimizationRemarkAnalysis() [5/6]

OptimizationRemarkAnalysis() [6/6]

classof()

isEnabled()

bool OptimizationRemarkAnalysis::isEnabled ( ) const overridevirtual

shouldAlwaysPrint()

bool llvm::OptimizationRemarkAnalysis::shouldAlwaysPrint ( ) const inline

AlwaysPrint

const char * OptimizationRemarkAnalysis::AlwaysPrint = "" static

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