MLIR  22.0.0git
Classes | Namespaces | Typedefs | Enumerations | Functions
Remarks.h File Reference
#include "llvm/ADT/StringExtras.h"
#include "llvm/IR/DiagnosticInfo.h"
#include "llvm/Remarks/Remark.h"
#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/Regex.h"
#include <optional>
#include "mlir/IR/Diagnostics.h"
#include "mlir/IR/MLIRContext.h"
#include "mlir/IR/Value.h"

Go to the source code of this file.

Classes

struct  mlir::remark::RemarkCategories
 Define an the set of categories to accept. More...
 
struct  mlir::remark::RemarkOpts
 Options to create a Remark. More...
 
class  mlir::remark::detail::Remark
 
struct  mlir::remark::detail::Remark::Arg
 
class  mlir::remark::detail::OptRemarkBase< K, S >
 
struct  mlir::remark::detail::LazyTextBuild
 Lazy text building for zero cost string formatting. More...
 
class  mlir::remark::detail::InFlightRemark
 InFlightRemark is a RAII class that holds a reference to a Remark instance and allows to build the remark using the << operator. More...
 
class  mlir::remark::detail::MLIRRemarkStreamerBase
 Base class for MLIR remark streamers that is used to stream optimization remarks to the underlying remark streamer. More...
 
class  mlir::remark::detail::RemarkEngine
 

Namespaces

 mlir
 Include the generated interface declarations.
 
 mlir::remark
 
 mlir::remark::detail
 

Typedefs

using mlir::remark::detail::OptRemarkAnalysis = OptRemarkBase< RemarkKind::RemarkAnalysis, DiagnosticSeverity::Remark >
 
using mlir::remark::detail::OptRemarkPass = OptRemarkBase< RemarkKind::RemarkPassed, DiagnosticSeverity::Remark >
 
using mlir::remark::detail::OptRemarkMissed = OptRemarkBase< RemarkKind::RemarkMissed, DiagnosticSeverity::Remark >
 
using mlir::remark::detail::OptRemarkFailure = OptRemarkBase< RemarkKind::RemarkFailure, DiagnosticSeverity::Remark >
 

Enumerations

enum class  mlir::remark::RemarkKind {
  mlir::remark::RemarkUnknown = 0 , mlir::remark::RemarkPassed , mlir::remark::RemarkMissed , mlir::remark::RemarkFailure ,
  mlir::remark::RemarkAnalysis
}
 Categories describe the outcome of an transformation, not the mechanics of emitting/serializing remarks. More...
 

Functions

Remark & mlir::remark::detail::operator<< (Remark &r, StringRef s)
 
Remark && mlir::remark::detail::operator<< (Remark &&r, StringRef s)
 
Remark & mlir::remark::detail::operator<< (Remark &r, const Remark::Arg &kv)
 
template<typename Fn , typename... Args>
InFlightRemark mlir::remark::detail::withEngine (Fn fn, Location loc, Args &&...args)
 
template<class... Ts>
detail::LazyTextBuild mlir::remark::reason (const char *fmt, Ts &&...ts)
 Create a Reason with llvm::formatv formatting. More...
 
template<class... Ts>
detail::LazyTextBuild mlir::remark::suggest (const char *fmt, Ts &&...ts)
 Create a Suggestion with llvm::formatv formatting. More...
 
template<class... Ts>
detail::LazyTextBuild mlir::remark::add (const char *fmt, Ts &&...ts)
 Create a Remark with llvm::formatv formatting. More...
 
template<class V >
detail::LazyTextBuild mlir::remark::metric (StringRef key, V &&v)
 
detail::InFlightRemark mlir::remark::passed (Location loc, RemarkOpts opts)
 Report an optimization remark that was passed. More...
 
detail::InFlightRemark mlir::remark::missed (Location loc, RemarkOpts opts)
 Report an optimization remark that was missed. More...
 
detail::InFlightRemark mlir::remark::failed (Location loc, RemarkOpts opts)
 Report an optimization remark that failed. More...
 
detail::InFlightRemark mlir::remark::analysis (Location loc, RemarkOpts opts)
 Report an optimization analysis remark. More...
 
LogicalResult mlir::remark::enableOptimizationRemarks (MLIRContext &ctx, std::unique_ptr< remark::detail::MLIRRemarkStreamerBase > streamer, const remark::RemarkCategories &cats, bool printAsEmitRemarks=false)
 Setup remarks for the context. More...