LLVM  3.7.0
Public Member Functions | Static Public Member Functions | List of all members
llvm::DiagnosticInfoOptimizationBase Class Referenceabstract

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

#include <DiagnosticInfo.h>

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

Public Member Functions

 DiagnosticInfoOptimizationBase (enum DiagnosticKind Kind, enum DiagnosticSeverity Severity, const char *PassName, const Function &Fn, const DebugLoc &DLoc, const Twine &Msg)
 PassName is the name of the pass emitting this diagnostic. More...
 
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). 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 *Filename, unsigned *Line, unsigned *Column) const
 Return location information for this diagnostic in three parts: the source file name, line number and column. More...
 
const char * getPassName () const
 
const FunctiongetFunction () const
 
const DebugLocgetDebugLoc () const
 
const TwinegetMsg () const
 
- Public Member Functions inherited from llvm::DiagnosticInfo
 DiagnosticInfo (int Kind, DiagnosticSeverity Severity)
 
virtual ~DiagnosticInfo ()
 
int getKind () const
 
DiagnosticSeverity getSeverity () const
 

Static Public Member Functions

static bool classof (const DiagnosticInfo *DI)
 

Detailed Description

Common features for diagnostics dealing with optimization remarks.

Definition at line 251 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 260 of file DiagnosticInfo.h.

Member Function Documentation

static bool llvm::DiagnosticInfoOptimizationBase::classof ( const DiagnosticInfo DI)
inlinestatic
const DebugLoc& llvm::DiagnosticInfoOptimizationBase::getDebugLoc ( ) const
inline

Definition at line 295 of file DiagnosticInfo.h.

Referenced by getLocation(), and isLocationAvailable().

const Function& llvm::DiagnosticInfoOptimizationBase::getFunction ( ) const
inline

Definition at line 294 of file DiagnosticInfo.h.

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 135 of file DiagnosticInfo.cpp.

References getDebugLoc().

Referenced by getLocationStr().

const std::string DiagnosticInfoOptimizationBase::getLocationStr ( ) const

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 145 of file DiagnosticInfo.cpp.

References getLocation(), and isLocationAvailable().

Referenced by print().

const Twine& llvm::DiagnosticInfoOptimizationBase::getMsg ( ) const
inline

Definition at line 296 of file DiagnosticInfo.h.

Referenced by print().

const char* llvm::DiagnosticInfoOptimizationBase::getPassName ( ) const
inline
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.

bool DiagnosticInfoOptimizationBase::isLocationAvailable ( ) const

Return true if location information is available for this diagnostic.

Definition at line 131 of file DiagnosticInfo.cpp.

References getDebugLoc().

Referenced by getLocationStr().

void DiagnosticInfoOptimizationBase::print ( DiagnosticPrinter DP) const
overridevirtual
See Also
DiagnosticInfo::print.

Implements llvm::DiagnosticInfo.

Definition at line 154 of file DiagnosticInfo.cpp.

References getLocationStr(), and getMsg().


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