|
MLIR 23.0.0git
|
#include "mlir/IR/Remarks.h"
Classes | |
| struct | Arg |
Public Member Functions | |
| Remark (RemarkKind remarkKind, DiagnosticSeverity severity, Location loc, RemarkOpts opts) | |
| void | insert (llvm::StringRef s) |
| void | insert (Arg a) |
| void | print (llvm::raw_ostream &os, bool printLocation=false) const |
| Print the remark to the given output stream. | |
| Location | getLocation () const |
| llvm::remarks::Remark | generateRemark () const |
| Diagnostic -> Remark. | |
| StringRef | getFunction () const |
| llvm::StringRef | getCategoryName () const |
| llvm::StringRef | getCombinedCategoryName () const |
| StringRef | getRemarkName () const |
| std::string | getMsg () const |
| ArrayRef< Arg > | getArgs () const |
| llvm::remarks::Type | getRemarkType () const |
| RemarkId | getId () const |
| Get this remark's unique ID (0 if not assigned). | |
| void | setId (RemarkId newId) |
| Set this remark's unique ID. Also adds it as an Arg for serialization. | |
| ArrayRef< RemarkId > | getRelatedRemarkIds () const |
| Get the list of related remark IDs. | |
| void | addRelatedRemark (RemarkId relatedId) |
| Add a reference to a related remark. | |
| bool | hasRelatedRemarks () const |
| Check if this remark has any related remarks. | |
| RemarkKind | getRemarkKind () const |
| Get the remark kind. | |
| StringRef | getRemarkTypeString () const |
Protected Attributes | |
| RemarkKind | remarkKind |
| Keeps the MLIR diagnostic kind, which is used to determine the diagnostic kind in the LLVM remark streamer. | |
| std::string | functionName |
| Name of the covering function like interface. | |
| Location | loc |
| std::string | categoryName |
| Category name e.g., "Unroll" or "UnrollAndJam". | |
| std::string | subCategoryName |
| Sub category name e.g., "Loop Optimizer". | |
| SmallString< 64 > | fullCategoryName |
| Combined name for category and sub-category. | |
| std::string | remarkName |
| Remark identifier. | |
| SmallVector< Arg, 4 > | args |
| Args collected via the streaming interface. | |
| RemarkId | id |
| Unique ID for this remark (assigned by RemarkEngine). | |
| SmallVector< RemarkId > | relatedRemarks |
| IDs of related remarks (e.g., parent analysis that enabled this opt). | |
|
inline |
Definition at line 151 of file Remarks.h.
References addRelatedRemark(), categoryName, functionName, if(), loc, mlir::remark::RemarkOpts::relatedId, remarkKind, remarkName, and subCategoryName.
Referenced by mlir::remark::detail::OptRemarkBase< RemarkKind::RemarkAnalysis, DiagnosticSeverity::Remark >::OptRemarkBase().
Add a reference to a related remark.
Also adds it as an Arg for serialization.
Definition at line 264 of file Remarks.h.
References args, mlir::remark::RemarkId::getValue(), and relatedRemarks.
Referenced by Remark().
| llvm::remarks::Remark Remark::generateRemark | ( | ) | const |
Diagnostic -> Remark.
Definition at line 138 of file Remarks.cpp.
References getArgs(), getCombinedCategoryName(), getFunction(), getLocation(), getRemarkName(), and getRemarkType().
Definition at line 241 of file Remarks.h.
References args.
Referenced by generateRemark(), and print().
|
inline |
Definition at line 221 of file Remarks.h.
References categoryName.
|
inline |
Definition at line 223 of file Remarks.h.
References categoryName, fullCategoryName, and subCategoryName.
Referenced by generateRemark(), llvm::DenseMapInfo< mlir::remark::detail::Remark >::getHashValue(), and print().
|
inline |
Definition at line 215 of file Remarks.h.
References functionName.
Referenced by generateRemark(), and print().
|
inline |
|
inline |
Definition at line 211 of file Remarks.h.
References loc.
Referenced by generateRemark(), llvm::DenseMapInfo< mlir::remark::detail::Remark >::getHashValue(), and print().
| std::string Remark::getMsg | ( | ) | const |
Definition at line 98 of file Remarks.cpp.
References print().
Get the list of related remark IDs.
Definition at line 260 of file Remarks.h.
References relatedRemarks.
|
inline |
Get the remark kind.
Definition at line 275 of file Remarks.h.
References remarkKind.
Referenced by llvm::DenseMapInfo< mlir::remark::detail::Remark >::getHashValue().
|
inline |
Definition at line 233 of file Remarks.h.
References remarkName.
Referenced by generateRemark(), and llvm::DenseMapInfo< mlir::remark::detail::Remark >::getHashValue().
| llvm::remarks::Type Remark::getRemarkType | ( | ) | const |
Definition at line 122 of file Remarks.cpp.
References mlir::remark::RemarkAnalysis, mlir::remark::RemarkFailure, remarkKind, mlir::remark::RemarkMissed, mlir::remark::RemarkPassed, and mlir::remark::RemarkUnknown.
Referenced by generateRemark().
| llvm::StringRef Remark::getRemarkTypeString | ( | ) | const |
Definition at line 106 of file Remarks.cpp.
References mlir::remark::RemarkAnalysis, mlir::remark::RemarkFailure, remarkKind, mlir::remark::RemarkMissed, mlir::remark::RemarkPassed, and mlir::remark::RemarkUnknown.
Referenced by print().
|
inline |
Check if this remark has any related remarks.
Definition at line 272 of file Remarks.h.
References relatedRemarks.
Definition at line 40 of file Remarks.cpp.
References args.
| void Remark::insert | ( | llvm::StringRef | s | ) |
Definition at line 39 of file Remarks.cpp.
References args.
Referenced by mlir::remark::detail::operator<<(), mlir::remark::detail::operator<<(), and mlir::remark::detail::operator<<().
Print the remark to the given output stream.
Example output: [Missed] Category: Loop | Pass:Unroller | Function=main | Reason="tripCount=4 < threshold=256" [Failure] LoopOptimizer | Reason="failed due to unsupported pattern"
Definition at line 75 of file Remarks.cpp.
References categoryName, functionName, getArgs(), getCombinedCategoryName(), getFunction(), getLocation(), getRemarkTypeString(), printArgs(), and remarkName.
Referenced by getMsg().
|
protected |
Args collected via the streaming interface.
Definition at line 304 of file Remarks.h.
Referenced by addRelatedRemark(), getArgs(), insert(), insert(), printArgs(), and setId().
|
protected |
Category name e.g., "Unroll" or "UnrollAndJam".
Stored as std::string to ensure the Remark owns its data.
Definition at line 290 of file Remarks.h.
Referenced by getCategoryName(), getCombinedCategoryName(), print(), and Remark().
|
protected |
Combined name for category and sub-category.
Definition at line 297 of file Remarks.h.
Referenced by getCombinedCategoryName().
|
protected |
|
protected |
Unique ID for this remark (assigned by RemarkEngine).
Definition at line 307 of file Remarks.h.
Referenced by getId().
|
protected |
Definition at line 287 of file Remarks.h.
Referenced by mlir::remark::detail::RemarkEngine::emitOptimizationRemark(), mlir::remark::detail::RemarkEngine::emitOptimizationRemarkAnalysis(), mlir::remark::detail::RemarkEngine::emitOptimizationRemarkFailure(), mlir::remark::detail::RemarkEngine::emitOptimizationRemarkMiss(), getLocation(), mlir::remark::detail::OptRemarkBase< RemarkKind::RemarkAnalysis, DiagnosticSeverity::Remark >::OptRemarkBase(), and Remark().
|
protected |
IDs of related remarks (e.g., parent analysis that enabled this opt).
Definition at line 310 of file Remarks.h.
Referenced by addRelatedRemark(), getRelatedRemarkIds(), and hasRelatedRemarks().
|
protected |
Keeps the MLIR diagnostic kind, which is used to determine the diagnostic kind in the LLVM remark streamer.
Definition at line 282 of file Remarks.h.
Referenced by getRemarkKind(), getRemarkType(), getRemarkTypeString(), and Remark().
|
protected |
|
protected |
Sub category name e.g., "Loop Optimizer".
Stored as std::string to ensure the Remark owns its data.
Definition at line 294 of file Remarks.h.
Referenced by getCombinedCategoryName(), and Remark().