MLIR 22.0.0git
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 "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::RemarkEmittingPolicyBase
 Base class for MLIR remark emitting policies that is used to emit optimization remarks to the underlying remark streamer. More...
class  mlir::remark::detail::RemarkEngine
class  mlir::remark::RemarkEmittingPolicyAll
 Policy that emits all remarks. More...
class  mlir::remark::RemarkEmittingPolicyFinal
 Policy that emits final remarks. More...
struct  llvm::DenseMapInfo< mlir::remark::detail::Remark >

Namespaces

namespace  mlir
 Include the generated interface declarations.
namespace  mlir::remark
namespace  mlir::remark::detail
namespace  llvm
 The OpAsmOpInterface, see OpAsmInterface.td for more details.

Typedefs

using mlir::remark::detail::OptRemarkAnalysis
using mlir::remark::detail::OptRemarkPass
using mlir::remark::detail::OptRemarkMissed
using mlir::remark::detail::OptRemarkFailure
using mlir::remark::detail::ReportFn = llvm::unique_function<void(const 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

Remarkmlir::remark::detail::operator<< (Remark &r, StringRef s)
Remark && mlir::remark::detail::operator<< (Remark &&r, StringRef s)
Remarkmlir::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.
template<class... Ts>
detail::LazyTextBuild mlir::remark::suggest (const char *fmt, Ts &&...ts)
 Create a Suggestion with llvm::formatv formatting.
template<class... Ts>
detail::LazyTextBuild mlir::remark::add (const char *fmt, Ts &&...ts)
 Create a Remark with llvm::formatv formatting.
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.
detail::InFlightRemark mlir::remark::missed (Location loc, RemarkOpts opts)
 Report an optimization remark that was missed.
detail::InFlightRemark mlir::remark::failed (Location loc, RemarkOpts opts)
 Report an optimization remark that failed.
detail::InFlightRemark mlir::remark::analysis (Location loc, RemarkOpts opts)
 Report an optimization analysis remark.
LogicalResult mlir::remark::enableOptimizationRemarks (MLIRContext &ctx, std::unique_ptr< remark::detail::MLIRRemarkStreamerBase > streamer, std::unique_ptr< remark::detail::RemarkEmittingPolicyBase > remarkEmittingPolicy, const remark::RemarkCategories &cats, bool printAsEmitRemarks=false)
 Setup remarks for the context.