LLVM: llvm::DiagnosticInfoOptimizationBase Class Reference (original ) (raw )Common features for diagnostics dealing with optimization remarks that are used by both IR and MIR passes. More...
#include "[llvm/IR/DiagnosticInfo.h](DiagnosticInfo%5F8h%5Fsource.html)"
Classes
struct
Argument
Used in the streaming interface as the general argument type. More...
struct
setExtraArgs
When an instance of this is inserted into the stream, the arguments following will not appear in the remark printed in the compiler output (-Rpass) but only in the optimization record file (-fsave-optimization-record). More...
struct
setIsVerbose
Used to set IsVerbose via the stream interface. More...
Public Member Functions
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
Protected Attributes
const char *
PassName
Name of the pass that triggers this report.
StringRef
RemarkName
Textual identifier for the remark (single-word, CamelCase).
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.
Common features for diagnostics dealing with optimization remarks that are used by both IR and MIR passes.
Definition at line 521 of file DiagnosticInfo.h .
◆ classof()◆ getArgs()
ArrayRef < Argument > llvm::DiagnosticInfoOptimizationBase::getArgs ( ) const
inline
◆ getHotness()
std::optional< uint64_t > llvm::DiagnosticInfoOptimizationBase::getHotness ( ) const
inline
◆ getMsg()
std::string DiagnosticInfoOptimizationBase::getMsg
(
)
const
◆ getPassName()
StringRef llvm::DiagnosticInfoOptimizationBase::getPassName ( ) const
inline
StringRef llvm::DiagnosticInfoOptimizationBase::getRemarkName ( ) const
inline
◆ insert() [1/4]
void DiagnosticInfoOptimizationBase::insert
(
Argument
A
)
◆ insert() [2/4]
void DiagnosticInfoOptimizationBase::insert
(
setExtraArgs
EA
)
◆ insert() [3/4]
void DiagnosticInfoOptimizationBase::insert
(
setIsVerbose
V
)
◆ insert() [4/4]
void DiagnosticInfoOptimizationBase::insert
(
StringRef
S
)
◆ isAnalysis()
bool llvm::DiagnosticInfoOptimizationBase::isAnalysis ( ) const
inline
◆ isEnabled()
virtual bool llvm::DiagnosticInfoOptimizationBase::isEnabled ( ) const
pure virtual
◆ isMissed()
bool llvm::DiagnosticInfoOptimizationBase::isMissed ( ) const
inline
◆ isPassed()
bool llvm::DiagnosticInfoOptimizationBase::isPassed ( ) const
inline
◆ isVerbose()
bool llvm::DiagnosticInfoOptimizationBase::isVerbose ( ) const
inline
◆ print()
void DiagnosticInfoOptimizationBase::print ( DiagnosticPrinter & DP ) const
overridevirtual
◆ setHotness()
void llvm::DiagnosticInfoOptimizationBase::setHotness ( std::optional< uint64_t > H )
inline
◆ Args
int llvm::DiagnosticInfoOptimizationBase::FirstExtraArgIndex = -1
protected
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.
Definition at line 645 of file DiagnosticInfo.h .
Referenced by getMsg() , and insert() .
◆ Hotness
std::optional<uint64_t > llvm::DiagnosticInfoOptimizationBase::Hotness
protected
◆ IsVerbose
bool llvm::DiagnosticInfoOptimizationBase::IsVerbose = false
protected
◆ PassName
const char * llvm::DiagnosticInfoOptimizationBase::PassName
protected
Name of the pass that triggers this report.
If this matches the regular expression given in -Rpass=regexp, then the remark will be emitted.
Definition at line 625 of file DiagnosticInfo.h .
Referenced by llvm::DiagnosticInfoIROptimization::DiagnosticInfoIROptimization() , llvm::DiagnosticInfoIROptimization::DiagnosticInfoIROptimization() , llvm::DiagnosticInfoIROptimization::DiagnosticInfoIROptimization() , llvm::DiagnosticInfoMIROptimization::DiagnosticInfoMIROptimization() , DiagnosticInfoOptimizationBase() , llvm::DiagnosticInfoOptimizationFailure::DiagnosticInfoOptimizationFailure() , getPassName() , llvm::MachineOptimizationRemark::MachineOptimizationRemark() , llvm::MachineOptimizationRemarkAnalysis::MachineOptimizationRemarkAnalysis() , llvm::MachineOptimizationRemarkAnalysis::MachineOptimizationRemarkAnalysis() , llvm::MachineOptimizationRemarkMissed::MachineOptimizationRemarkMissed() , llvm::OptimizationRemark::OptimizationRemark() , llvm::OptimizationRemark::OptimizationRemark() , llvm::OptimizationRemark::OptimizationRemark() , llvm::OptimizationRemarkAnalysis::OptimizationRemarkAnalysis() , llvm::OptimizationRemarkAnalysis::OptimizationRemarkAnalysis() , llvm::OptimizationRemarkAnalysis::OptimizationRemarkAnalysis() , llvm::OptimizationRemarkAnalysis::OptimizationRemarkAnalysis() , llvm::OptimizationRemarkAnalysis::OptimizationRemarkAnalysis() , llvm::OptimizationRemarkAnalysis::OptimizationRemarkAnalysis() , llvm::OptimizationRemarkAnalysisAliasing::OptimizationRemarkAnalysisAliasing() , llvm::OptimizationRemarkAnalysisFPCommute::OptimizationRemarkAnalysisFPCommute() , llvm::OptimizationRemarkMissed::OptimizationRemarkMissed() , llvm::OptimizationRemarkMissed::OptimizationRemarkMissed() , and llvm::OptimizationRemarkMissed::OptimizationRemarkMissed() .
StringRef llvm::DiagnosticInfoOptimizationBase::RemarkName
protected
Textual identifier for the remark (single-word, CamelCase).
Can be used by external tools reading the output file for optimization remarks to identify the remark.
Definition at line 630 of file DiagnosticInfo.h .
Referenced by llvm::DiagnosticInfoIROptimization::DiagnosticInfoIROptimization() , llvm::DiagnosticInfoIROptimization::DiagnosticInfoIROptimization() , llvm::DiagnosticInfoMIROptimization::DiagnosticInfoMIROptimization() , DiagnosticInfoOptimizationBase() , llvm::DiagnosticInfoOptimizationFailure::DiagnosticInfoOptimizationFailure() , getRemarkName() , llvm::MachineOptimizationRemark::MachineOptimizationRemark() , llvm::MachineOptimizationRemarkAnalysis::MachineOptimizationRemarkAnalysis() , llvm::MachineOptimizationRemarkAnalysis::MachineOptimizationRemarkAnalysis() , llvm::MachineOptimizationRemarkMissed::MachineOptimizationRemarkMissed() , llvm::OptimizationRemark::OptimizationRemark() , llvm::OptimizationRemark::OptimizationRemark() , llvm::OptimizationRemark::OptimizationRemark() , llvm::OptimizationRemarkAnalysis::OptimizationRemarkAnalysis() , llvm::OptimizationRemarkAnalysis::OptimizationRemarkAnalysis() , llvm::OptimizationRemarkAnalysis::OptimizationRemarkAnalysis() , llvm::OptimizationRemarkAnalysis::OptimizationRemarkAnalysis() , llvm::OptimizationRemarkAnalysisAliasing::OptimizationRemarkAnalysisAliasing() , llvm::OptimizationRemarkAnalysisFPCommute::OptimizationRemarkAnalysisFPCommute() , llvm::OptimizationRemarkMissed::OptimizationRemarkMissed() , llvm::OptimizationRemarkMissed::OptimizationRemarkMissed() , and llvm::OptimizationRemarkMissed::OptimizationRemarkMissed() .
The documentation for this class was generated from the following files: