LLVM API Documentation

Public Member Functions | Static Public Member Functions
llvm::DiagnosticInfoOptimizationBase Class Reference

Common features for diagnostics dealing with optimization remarks. More...

#include <DiagnosticInfo.h>

Inheritance diagram for llvm::DiagnosticInfoOptimizationBase:
Inheritance graph
[legend]
Collaboration diagram for llvm::DiagnosticInfoOptimizationBase:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 DiagnosticInfoOptimizationBase (enum DiagnosticKind Kind, enum DiagnosticSeverity Severity, const char *PassName, const Function &Fn, const DebugLoc &DLoc, const Twine &Msg)
void print (DiagnosticPrinter &DP) const override
virtual bool isEnabled () const =0
bool isLocationAvailable () const
 Return true if location information is available for this diagnostic.
const std::string getLocationStr () const
void getLocation (StringRef *Filename, unsigned *Line, unsigned *Column) const
const char * getPassName () const
const FunctiongetFunction () const
const DebugLocgetDebugLoc () const
const TwinegetMsg () const

Static Public Member Functions

static bool classof (const DiagnosticInfo *DI)

Detailed Description

Common features for diagnostics dealing with optimization remarks.

Definition at line 244 of file DiagnosticInfo.h.


Constructor & Destructor Documentation

llvm::DiagnosticInfoOptimizationBase::DiagnosticInfoOptimizationBase ( enum DiagnosticKind  Kind,
enum DiagnosticSeverity  Severity,
const char *  PassName,
const Function Fn,
const DebugLoc DLoc,
const Twine Msg 
) [inline]

PassName is the name of the pass emitting this diagnostic. Fn is the function where the diagnostic is being emitted. DLoc is the location information to use in the diagnostic. If line table information is available, the diagnostic will include the source code location. Msg is the message to show. Note that this class does not copy this message, so this reference must be valid for the whole life time of the diagnostic.

Definition at line 253 of file DiagnosticInfo.h.


Member Function Documentation

Definition at line 288 of file DiagnosticInfo.h.

Referenced by getLocation(), and isLocationAvailable().

Definition at line 287 of file DiagnosticInfo.h.

Referenced by getLocation().

void DiagnosticInfoOptimizationBase::getLocation ( StringRef Filename,
unsigned Line,
unsigned Column 
) const

Return location information for this diagnostic in three parts: the source file name, line number and column.

Definition at line 134 of file DiagnosticInfo.cpp.

References llvm::DILocation::getColumnNumber(), getDebugLoc(), llvm::DILocation::getFilename(), getFunction(), and llvm::DILocation::getLineNumber().

Referenced by getLocationStr().

Return a string with the location information for this diagnostic in the format "file:line:col". If location information is not available, it returns "<unknown>:0:0".

Definition at line 143 of file DiagnosticInfo.cpp.

References getLocation(), isLocationAvailable(), and llvm::Twine::str().

Referenced by print().

Definition at line 289 of file DiagnosticInfo.h.

Referenced by print().

virtual bool llvm::DiagnosticInfoOptimizationBase::isEnabled ( ) const [pure virtual]

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). Note that this only handles the LLVM flags. We cannot access Clang flags from here (they are handled in BackendConsumer::OptimizationRemarkHandler).

Implemented in llvm::DiagnosticInfoOptimizationFailure, llvm::DiagnosticInfoOptimizationRemarkAnalysis, llvm::DiagnosticInfoOptimizationRemarkMissed, and llvm::DiagnosticInfoOptimizationRemark.

Return true if location information is available for this diagnostic.

Definition at line 130 of file DiagnosticInfo.cpp.

References getDebugLoc(), and llvm::DebugLoc::isUnknown().

Referenced by getLocationStr().

void DiagnosticInfoOptimizationBase::print ( DiagnosticPrinter DP) const [override, virtual]
See also:
DiagnosticInfo::print.

Implements llvm::DiagnosticInfo.

Definition at line 152 of file DiagnosticInfo.cpp.

References getLocationStr(), and getMsg().


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