96      (llvm::Twine(categoryName) + 
":" + subCategoryName)
 
   97          .toStringRef(fullCategoryName);
 
 
  107    Arg(llvm::StringRef k, llvm::StringRef v) : 
key(k), 
val(v) {}
 
  108    Arg(llvm::StringRef k, std::string v) : 
key(k), 
val(std::move(v)) {}
 
  109    Arg(llvm::StringRef k, 
const char *v) : 
Arg(k, 
llvm::StringRef(v)) {}
 
  111    Arg(llvm::StringRef k, 
Type t);
 
  112    Arg(llvm::StringRef k, 
bool b) : 
key(k), 
val(
b ? 
"true" : 
"false") {}
 
  115    template <
typename T, 
typename = std::enable_if_t<std::is_arithmetic_v<T> &&
 
  116                                                      !std::is_same_v<T, 
bool>>>
 
  118      if constexpr (std::is_floating_point_v<T>) {
 
  119        llvm::raw_string_ostream os(
val);
 
  121      } 
else if constexpr (std::is_signed_v<T>) {
 
  122        val = llvm::itostr(
static_cast<long long>(v));
 
  124        val = llvm::utostr(
static_cast<unsigned long long>(v));
 
 
 
  129  void insert(llvm::StringRef s);
 
  132  void print(llvm::raw_ostream &os, 
bool printLocation = 
false) 
const;
 
  141    return "<unknown function>";
 
 
  158      return "<unknown remark name>";
 
 
  162  std::string 
getMsg() 
const;
 
  195  static llvm::DiagnosticSeverity
 
  199      return llvm::DiagnosticSeverity::DS_Note;
 
  201      return llvm::DiagnosticSeverity::DS_Warning;
 
  203      return llvm::DiagnosticSeverity::DS_Error;
 
  205      return llvm::DiagnosticSeverity::DS_Remark;
 
  207    llvm_unreachable(
"Unknown diagnostic severity");
 
  213      return llvm::DiagnosticKind::DK_Generic;
 
  215      return llvm::DiagnosticKind::DK_OptimizationRemark;
 
  217      return llvm::DiagnosticKind::DK_OptimizationRemarkMissed;
 
  219      return llvm::DiagnosticKind::DK_OptimizationFailure;
 
  221      return llvm::DiagnosticKind::DK_OptimizationRemarkAnalysis;
 
  223    llvm_unreachable(
"Unknown diagnostic kind");
 
 
  368  std::optional<llvm::Regex> missFilter;
 
  370  std::optional<llvm::Regex> passedFilter;
 
  372  std::optional<llvm::Regex> analysisFilter;
 
  374  std::optional<llvm::Regex> failedFilter;
 
  376  std::unique_ptr<MLIRRemarkStreamerBase> remarkStreamer;
 
  378  std::unique_ptr<RemarkEmittingPolicyBase> remarkEmittingPolicy;
 
  380  bool printAsEmitRemarks = 
false;
 
  384  bool isMissedOptRemarkEnabled(StringRef categoryName) 
const;
 
  388  bool isPassedOptRemarkEnabled(StringRef categoryName) 
const;
 
  392  bool isAnalysisOptRemarkEnabled(StringRef categoryName) 
const;
 
  396  bool isFailedOptRemarkEnabled(StringRef categoryName) 
const;
 
  399  bool isAnyRemarkEnabled(StringRef categoryName)
 const {
 
  400    return isMissedOptRemarkEnabled(categoryName) ||
 
  401           isPassedOptRemarkEnabled(categoryName) ||
 
  402           isFailedOptRemarkEnabled(categoryName) ||
 
  403           isAnalysisOptRemarkEnabled(categoryName);
 
  409  template <
typename RemarkT, 
typename... Args>
 
  412  template <
typename RemarkT>
 
  434  initialize(std::unique_ptr<MLIRRemarkStreamerBase> streamer,
 
  435             std::unique_ptr<RemarkEmittingPolicyBase> remarkEmittingPolicy,
 
  436             std::string *errMsg);
 
  440    return remarkEmittingPolicy.get();
 
 
 
MLIRContext is the top-level object for a collection of MLIR operations.
 
remark::detail::RemarkEngine * getRemarkEngine()
Returns the remark engine for this context, or nullptr if none has been set.