LLVM
8.0.1
|
Diagnostic information for applied optimization remarks. More...
#include "llvm/IR/DiagnosticInfo.h"
Public Member Functions | |
OptimizationRemark (const char *PassName, StringRef RemarkName, const DiagnosticLocation &Loc, const Value *CodeRegion) | |
PassName is the name of the pass emitting this diagnostic. More... | |
OptimizationRemark (const char *PassName, StringRef RemarkName, const Instruction *Inst) | |
Same as above, but the debug location and code region are derived from Instr . More... | |
OptimizationRemark (const char *PassName, StringRef RemarkName, const Function *Func) | |
Same as above, but the debug location and code region are derived from Func . More... | |
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 Value *CodeRegion=nullptr) | |
PassName is the name of the pass emitting this diagnostic. More... | |
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. More... | |
DiagnosticInfoIROptimization (enum DiagnosticKind Kind, enum DiagnosticSeverity Severity, const char *PassName, const Function &Fn, const DiagnosticLocation &Loc, const Twine &Msg) | |
Legacy interface. More... | |
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. More... | |
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 |
std::string | getMsg () const |
Optional< uint64_t > | getHotness () const |
void | setHotness (Optional< uint64_t > H) |
bool | isVerbose () 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. More... | |
bool | isLocationAvailable () const |
Return true if location information is available for this diagnostic. More... | |
const std::string | getLocationStr () const |
Return a string with the location information for this diagnostic in the format "file:line:col". More... | |
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. More... | |
std::string | getAbsolutePath () const |
Return the absolute path tot the file. More... | |
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 |
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. More... | |
StringRef | RemarkName |
Textual identifier for the remark (single-word, camel-case). More... | |
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. More... | |
SmallVector< Argument, 4 > | Args |
Arguments collected via the streaming interface. More... | |
bool | IsVerbose = false |
The remark is expected to be noisy. More... | |
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. More... | |
Diagnostic information for applied optimization remarks.
Definition at line 670 of file DiagnosticInfo.h.
OptimizationRemark::OptimizationRemark | ( | const char * | PassName, |
StringRef | RemarkName, | ||
const DiagnosticLocation & | Loc, | ||
const Value * | CodeRegion | ||
) |
PassName
is the name of the pass emitting this diagnostic.
If this name matches the regular expression given in -Rpass=, then the diagnostic will be emitted. RemarkName
is a textual identifier for the remark (single- word, camel-case). Loc
is the debug location and CodeRegion
is the region that the optimization operates on (currently only block is supported).
Definition at line 232 of file DiagnosticInfo.cpp.
OptimizationRemark::OptimizationRemark | ( | const char * | PassName, |
StringRef | RemarkName, | ||
const Instruction * | Inst | ||
) |
Same as above, but the debug location and code region are derived from Instr
.
Definition at line 240 of file DiagnosticInfo.cpp.
OptimizationRemark::OptimizationRemark | ( | const char * | PassName, |
StringRef | RemarkName, | ||
const Function * | Func | ||
) |
Same as above, but the debug location and code region are derived from Func
.
Definition at line 254 of file DiagnosticInfo.cpp.
|
inlinestatic |
Definition at line 691 of file DiagnosticInfo.h.
References llvm::DK_OptimizationRemark, llvm::DS_Remark, llvm::DiagnosticInfo::getKind(), and isEnabled().
|
overridevirtual |
Implements llvm::DiagnosticInfoOptimizationBase.
Definition at line 261 of file DiagnosticInfo.cpp.
References llvm::Function::getContext(), llvm::LLVMContext::getDiagHandlerPtr(), llvm::DiagnosticInfoWithLocationBase::getFunction(), llvm::DiagnosticInfoOptimizationBase::getPassName(), and llvm::DiagnosticHandler::isPassedOptRemarkEnabled().
Referenced by llvm::WholeProgramDevirtPass::run().