Author: Mehdi Amini
Date: 2025-09-25T12:12:10+02:00
New Revision: 660afe41d8f835058cba0b02d2856b12ed9fb0ba

URL: 
https://github.com/llvm/llvm-project/commit/660afe41d8f835058cba0b02d2856b12ed9fb0ba
DIFF: 
https://github.com/llvm/llvm-project/commit/660afe41d8f835058cba0b02d2856b12ed9fb0ba.diff

LOG: Revert "[MLIR] Implement remark emitting policies in MLIR (#160526)"

This reverts commit 020b9286413c151d33e2d72c29abc8b56c7080d3.

Added: 
    

Modified: 
    mlir/include/mlir/IR/Remarks.h
    mlir/include/mlir/Remark/RemarkStreamer.h
    mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
    mlir/lib/IR/MLIRContext.cpp
    mlir/lib/IR/Remarks.cpp
    mlir/lib/Remark/RemarkStreamer.cpp
    mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
    mlir/test/lib/Pass/TestRemarksPass.cpp
    mlir/unittests/IR/RemarkTest.cpp

Removed: 
    mlir/test/Pass/remark-final.mlir


################################################################################
diff  --git a/mlir/include/mlir/IR/Remarks.h b/mlir/include/mlir/IR/Remarks.h
index 5e2bd828bd00e..20e84ec83cd01 100644
--- a/mlir/include/mlir/IR/Remarks.h
+++ b/mlir/include/mlir/IR/Remarks.h
@@ -24,8 +24,6 @@
 #include "mlir/IR/MLIRContext.h"
 #include "mlir/IR/Value.h"
 
-#include <functional>
-
 namespace mlir::remark {
 
 /// Define an the set of categories to accept. By default none are, the 
provided
@@ -146,7 +144,7 @@ class Remark {
 
   llvm::StringRef getCategoryName() const { return categoryName; }
 
-  llvm::StringRef getCombinedCategoryName() const {
+  llvm::StringRef getFullCategoryName() const {
     if (categoryName.empty() && subCategoryName.empty())
       return {};
     if (subCategoryName.empty())
@@ -320,7 +318,7 @@ class InFlightRemark {
 };
 
 
//===----------------------------------------------------------------------===//
-// Pluggable Remark Utilities
+// MLIR Remark Streamer
 
//===----------------------------------------------------------------------===//
 
 /// Base class for MLIR remark streamers that is used to stream
@@ -340,26 +338,6 @@ class MLIRRemarkStreamerBase {
   virtual void finalize() {} // optional
 };
 
-using ReportFn = llvm::unique_function<void(const Remark &)>;
-
-/// Base class for MLIR remark emitting policies that is used to emit
-/// optimization remarks to the underlying remark streamer. The derived classes
-/// should implement the `reportRemark` method to provide the actual emitting
-/// implementation.
-class RemarkEmittingPolicyBase {
-protected:
-  ReportFn reportImpl;
-
-public:
-  RemarkEmittingPolicyBase() = default;
-  virtual ~RemarkEmittingPolicyBase() = default;
-
-  void initialize(ReportFn fn) { reportImpl = std::move(fn); }
-
-  virtual void reportRemark(const Remark &remark) = 0;
-  virtual void finalize() = 0;
-};
-
 
//===----------------------------------------------------------------------===//
 // Remark Engine (MLIR Context will own this class)
 
//===----------------------------------------------------------------------===//
@@ -377,8 +355,6 @@ class RemarkEngine {
   std::optional<llvm::Regex> failedFilter;
   /// The MLIR remark streamer that will be used to emit the remarks.
   std::unique_ptr<MLIRRemarkStreamerBase> remarkStreamer;
-  /// The MLIR remark policy that will be used to emit the remarks.
-  std::unique_ptr<RemarkEmittingPolicyBase> remarkEmittingPolicy;
   /// When is enabled, engine also prints remarks as mlir::emitRemarks.
   bool printAsEmitRemarks = false;
 
@@ -416,8 +392,6 @@ class RemarkEngine {
   InFlightRemark emitIfEnabled(Location loc, RemarkOpts opts,
                                bool (RemarkEngine::*isEnabled)(StringRef)
                                    const);
-  /// Report a remark.
-  void reportImpl(const Remark &remark);
 
 public:
   /// Default constructor is deleted, use the other constructor.
@@ -433,10 +407,8 @@ class RemarkEngine {
   ~RemarkEngine();
 
   /// Setup the remark engine with the given output path and format.
-  LogicalResult
-  initialize(std::unique_ptr<MLIRRemarkStreamerBase> streamer,
-             std::unique_ptr<RemarkEmittingPolicyBase> remarkEmittingPolicy,
-             std::string *errMsg);
+  LogicalResult initialize(std::unique_ptr<MLIRRemarkStreamerBase> streamer,
+                           std::string *errMsg);
 
   /// Report a remark.
   void report(const Remark &&remark);
@@ -474,54 +446,6 @@ inline InFlightRemark withEngine(Fn fn, Location loc, Args 
&&...args) {
 
 namespace mlir::remark {
 
-//===----------------------------------------------------------------------===//
-// Remark Emitting Policies
-//===----------------------------------------------------------------------===//
-
-/// Policy that emits all remarks.
-class RemarkEmittingPolicyAll : public detail::RemarkEmittingPolicyBase {
-public:
-  RemarkEmittingPolicyAll();
-
-  void reportRemark(const detail::Remark &remark) override {
-    reportImpl(remark);
-  }
-  void finalize() override {}
-};
-
-/// Policy that emits final remarks.
-class RemarkEmittingPolicyFinal : public detail::RemarkEmittingPolicyBase {
-private:
-  /// user can intercept them for custom processing via a registered callback,
-  /// otherwise they will be reported on engine destruction.
-  llvm::DenseSet<detail::Remark> postponedRemarks;
-  /// Optional user callback for intercepting postponed remarks.
-  std::function<void(const detail::Remark &)> postponedRemarkCallback;
-
-public:
-  RemarkEmittingPolicyFinal();
-
-  /// Register a callback to intercept postponed remarks before they are
-  /// reported. The callback will be invoked for each postponed remark in
-  /// finalize().
-  void
-  setPostponedRemarkCallback(std::function<void(const detail::Remark &)> cb) {
-    postponedRemarkCallback = std::move(cb);
-  }
-
-  void reportRemark(const detail::Remark &remark) override {
-    postponedRemarks.erase(remark);
-    postponedRemarks.insert(remark);
-  }
-  void finalize() override {
-    for (auto &remark : postponedRemarks) {
-      if (postponedRemarkCallback)
-        postponedRemarkCallback(remark);
-      reportImpl(remark);
-    }
-  }
-};
-
 /// Create a Reason with llvm::formatv formatting.
 template <class... Ts>
 inline detail::LazyTextBuild reason(const char *fmt, Ts &&...ts) {
@@ -581,72 +505,16 @@ inline detail::InFlightRemark analysis(Location loc, 
RemarkOpts opts) {
 
 /// Setup remarks for the context. This function will enable the remark engine
 /// and set the streamer to be used for optimization remarks. The remark
-/// categories are used to filter the remarks that will be emitted by the
-/// remark engine. If a category is not specified, it will not be emitted. If
+/// categories are used to filter the remarks that will be emitted by the 
remark
+/// engine. If a category is not specified, it will not be emitted. If
 /// `printAsEmitRemarks` is true, the remarks will be printed as
 /// mlir::emitRemarks. 'streamer' must inherit from MLIRRemarkStreamerBase and
 /// will be used to stream the remarks.
 LogicalResult enableOptimizationRemarks(
     MLIRContext &ctx,
     std::unique_ptr<remark::detail::MLIRRemarkStreamerBase> streamer,
-    std::unique_ptr<remark::detail::RemarkEmittingPolicyBase>
-        remarkEmittingPolicy,
     const remark::RemarkCategories &cats, bool printAsEmitRemarks = false);
 
 } // namespace mlir::remark
 
-// DenseMapInfo specialization for Remark
-namespace llvm {
-template <>
-struct DenseMapInfo<mlir::remark::detail::Remark> {
-  static constexpr StringRef kEmptyKey = "<EMPTY_KEY>";
-  static constexpr StringRef kTombstoneKey = "<TOMBSTONE_KEY>";
-
-  /// Helper to provide a static dummy context for sentinel keys.
-  static mlir::MLIRContext *getStaticDummyContext() {
-    static mlir::MLIRContext dummyContext;
-    return &dummyContext;
-  }
-
-  /// Create an empty remark
-  static inline mlir::remark::detail::Remark getEmptyKey() {
-    return mlir::remark::detail::Remark(
-        mlir::remark::RemarkKind::RemarkUnknown, 
mlir::DiagnosticSeverity::Note,
-        mlir::UnknownLoc::get(getStaticDummyContext()),
-        mlir::remark::RemarkOpts::name(kEmptyKey));
-  }
-
-  /// Create a dead remark
-  static inline mlir::remark::detail::Remark getTombstoneKey() {
-    return mlir::remark::detail::Remark(
-        mlir::remark::RemarkKind::RemarkUnknown, 
mlir::DiagnosticSeverity::Note,
-        mlir::UnknownLoc::get(getStaticDummyContext()),
-        mlir::remark::RemarkOpts::name(kTombstoneKey));
-  }
-
-  /// Compute the hash value of the remark
-  static unsigned getHashValue(const mlir::remark::detail::Remark &remark) {
-    return llvm::hash_combine(
-        remark.getLocation().getAsOpaquePointer(),
-        llvm::hash_value(remark.getRemarkName()),
-        llvm::hash_value(remark.getCombinedCategoryName()));
-  }
-
-  static bool isEqual(const mlir::remark::detail::Remark &lhs,
-                      const mlir::remark::detail::Remark &rhs) {
-    // Check for empty/tombstone keys first
-    if (lhs.getRemarkName() == kEmptyKey ||
-        lhs.getRemarkName() == kTombstoneKey ||
-        rhs.getRemarkName() == kEmptyKey ||
-        rhs.getRemarkName() == kTombstoneKey) {
-      return lhs.getRemarkName() == rhs.getRemarkName();
-    }
-
-    // For regular remarks, compare key identifying fields
-    return lhs.getLocation() == rhs.getLocation() &&
-           lhs.getRemarkName() == rhs.getRemarkName() &&
-           lhs.getCombinedCategoryName() == rhs.getCombinedCategoryName();
-  }
-};
-} // namespace llvm
 #endif // MLIR_IR_REMARKS_H

diff  --git a/mlir/include/mlir/Remark/RemarkStreamer.h 
b/mlir/include/mlir/Remark/RemarkStreamer.h
index 19a70fa4c4daa..170d6b439a442 100644
--- a/mlir/include/mlir/Remark/RemarkStreamer.h
+++ b/mlir/include/mlir/Remark/RemarkStreamer.h
@@ -45,7 +45,6 @@ namespace mlir::remark {
 /// mlir::emitRemarks.
 LogicalResult enableOptimizationRemarksWithLLVMStreamer(
     MLIRContext &ctx, StringRef filePath, llvm::remarks::Format fmt,
-    std::unique_ptr<detail::RemarkEmittingPolicyBase> remarkEmittingPolicy,
     const RemarkCategories &cat, bool printAsEmitRemarks = false);
 
 } // namespace mlir::remark

diff  --git a/mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h 
b/mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
index b7394387b0f9a..0fbe15fa2e0db 100644
--- a/mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
+++ b/mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
@@ -44,11 +44,6 @@ enum class RemarkFormat {
   REMARK_FORMAT_BITSTREAM,
 };
 
-enum class RemarkPolicy {
-  REMARK_POLICY_ALL,
-  REMARK_POLICY_FINAL,
-};
-
 /// Configuration options for the mlir-opt tool.
 /// This is intended to help building tools like mlir-opt by collecting the
 /// supported options.
@@ -247,8 +242,6 @@ class MlirOptMainConfig {
 
   /// Set the reproducer output filename
   RemarkFormat getRemarkFormat() const { return remarkFormatFlag; }
-  /// Set the remark policy to use.
-  RemarkPolicy getRemarkPolicy() const { return remarkPolicyFlag; }
   /// Set the remark format to use.
   std::string getRemarksAllFilter() const { return remarksAllFilterFlag; }
   /// Set the remark output file.
@@ -272,8 +265,6 @@ class MlirOptMainConfig {
 
   /// Remark format
   RemarkFormat remarkFormatFlag = RemarkFormat::REMARK_FORMAT_STDOUT;
-  /// Remark policy
-  RemarkPolicy remarkPolicyFlag = RemarkPolicy::REMARK_POLICY_ALL;
   /// Remark file to output to
   std::string remarksOutputFileFlag = "";
   /// Remark filters

diff  --git a/mlir/lib/IR/MLIRContext.cpp b/mlir/lib/IR/MLIRContext.cpp
index 358f0fc39b19d..1fa04ed8e738f 100644
--- a/mlir/lib/IR/MLIRContext.cpp
+++ b/mlir/lib/IR/MLIRContext.cpp
@@ -278,8 +278,6 @@ class MLIRContextImpl {
     }
   }
   ~MLIRContextImpl() {
-    // finalize remark engine before destroying anything else.
-    remarkEngine.reset();
     for (auto typeMapping : registeredTypes)
       typeMapping.second->~AbstractType();
     for (auto attrMapping : registeredAttributes)

diff  --git a/mlir/lib/IR/Remarks.cpp b/mlir/lib/IR/Remarks.cpp
index dca2da67d8a98..a55f61aff77bb 100644
--- a/mlir/lib/IR/Remarks.cpp
+++ b/mlir/lib/IR/Remarks.cpp
@@ -16,7 +16,7 @@
 #include "llvm/ADT/StringRef.h"
 
 using namespace mlir::remark::detail;
-using namespace mlir::remark;
+
 
//------------------------------------------------------------------------------
 // Remark
 
//------------------------------------------------------------------------------
@@ -70,7 +70,7 @@ static void printArgs(llvm::raw_ostream &os, 
llvm::ArrayRef<Remark::Arg> args) {
 void Remark::print(llvm::raw_ostream &os, bool printLocation) const {
   // Header: [Type] pass:remarkName
   StringRef type = getRemarkTypeString();
-  StringRef categoryName = getCombinedCategoryName();
+  StringRef categoryName = getFullCategoryName();
   StringRef name = remarkName;
 
   os << '[' << type << "] ";
@@ -140,7 +140,7 @@ llvm::remarks::Remark Remark::generateRemark() const {
   r.RemarkType = getRemarkType();
   r.RemarkName = getRemarkName();
   // MLIR does not use passes; instead, it has categories and sub-categories.
-  r.PassName = getCombinedCategoryName();
+  r.PassName = getFullCategoryName();
   r.FunctionName = getFunction();
   r.Loc = locLambda();
   for (const Remark::Arg &arg : getArgs()) {
@@ -225,7 +225,7 @@ InFlightRemark 
RemarkEngine::emitOptimizationRemarkAnalysis(Location loc,
 // RemarkEngine
 
//===----------------------------------------------------------------------===//
 
-void RemarkEngine::reportImpl(const Remark &remark) {
+void RemarkEngine::report(const Remark &&remark) {
   // Stream the remark
   if (remarkStreamer)
     remarkStreamer->streamOptimizationRemark(remark);
@@ -235,19 +235,19 @@ void RemarkEngine::reportImpl(const Remark &remark) {
     emitRemark(remark.getLocation(), remark.getMsg());
 }
 
-void RemarkEngine::report(const Remark &&remark) {
-  if (remarkEmittingPolicy)
-    remarkEmittingPolicy->reportRemark(remark);
-}
-
 RemarkEngine::~RemarkEngine() {
-  if (remarkEmittingPolicy)
-    remarkEmittingPolicy->finalize();
-
   if (remarkStreamer)
     remarkStreamer->finalize();
 }
 
+llvm::LogicalResult
+RemarkEngine::initialize(std::unique_ptr<MLIRRemarkStreamerBase> streamer,
+                         std::string *errMsg) {
+  // If you need to validate categories/filters, do so here and set errMsg.
+  remarkStreamer = std::move(streamer);
+  return success();
+}
+
 /// Returns true if filter is already anchored like ^...$
 static bool isAnchored(llvm::StringRef s) {
   s = s.trim();
@@ -300,31 +300,15 @@ RemarkEngine::RemarkEngine(bool printAsEmitRemarks,
     failedFilter = buildFilter(cats, cats.failed);
 }
 
-llvm::LogicalResult RemarkEngine::initialize(
-    std::unique_ptr<MLIRRemarkStreamerBase> streamer,
-    std::unique_ptr<RemarkEmittingPolicyBase> remarkEmittingPolicy,
-    std::string *errMsg) {
-
-  remarkStreamer = std::move(streamer);
-
-  // Capture `this`. Ensure RemarkEngine is not moved after this.
-  auto reportFunc = [this](const Remark &r) { this->reportImpl(r); };
-  remarkEmittingPolicy->initialize(ReportFn(std::move(reportFunc)));
-
-  this->remarkEmittingPolicy = std::move(remarkEmittingPolicy);
-  return success();
-}
-
 llvm::LogicalResult mlir::remark::enableOptimizationRemarks(
-    MLIRContext &ctx, std::unique_ptr<detail::MLIRRemarkStreamerBase> streamer,
-    std::unique_ptr<detail::RemarkEmittingPolicyBase> remarkEmittingPolicy,
-    const RemarkCategories &cats, bool printAsEmitRemarks) {
+    MLIRContext &ctx,
+    std::unique_ptr<remark::detail::MLIRRemarkStreamerBase> streamer,
+    const remark::RemarkCategories &cats, bool printAsEmitRemarks) {
   auto engine =
-      std::make_unique<detail::RemarkEngine>(printAsEmitRemarks, cats);
+      std::make_unique<remark::detail::RemarkEngine>(printAsEmitRemarks, cats);
 
   std::string errMsg;
-  if (failed(engine->initialize(std::move(streamer),
-                                std::move(remarkEmittingPolicy), &errMsg))) {
+  if (failed(engine->initialize(std::move(streamer), &errMsg))) {
     llvm::report_fatal_error(
         llvm::Twine("Failed to initialize remark engine. Error: ") + errMsg);
   }
@@ -332,12 +316,3 @@ llvm::LogicalResult 
mlir::remark::enableOptimizationRemarks(
 
   return success();
 }
-
-//===----------------------------------------------------------------------===//
-// Remark emitting policies
-//===----------------------------------------------------------------------===//
-
-namespace mlir::remark {
-RemarkEmittingPolicyAll::RemarkEmittingPolicyAll() = default;
-RemarkEmittingPolicyFinal::RemarkEmittingPolicyFinal() = default;
-} // namespace mlir::remark

diff  --git a/mlir/lib/Remark/RemarkStreamer.cpp 
b/mlir/lib/Remark/RemarkStreamer.cpp
index bf362862d24f6..d213a1a2068d6 100644
--- a/mlir/lib/Remark/RemarkStreamer.cpp
+++ b/mlir/lib/Remark/RemarkStreamer.cpp
@@ -60,7 +60,6 @@ void LLVMRemarkStreamer::finalize() {
 namespace mlir::remark {
 LogicalResult enableOptimizationRemarksWithLLVMStreamer(
     MLIRContext &ctx, StringRef path, llvm::remarks::Format fmt,
-    std::unique_ptr<detail::RemarkEmittingPolicyBase> remarkEmittingPolicy,
     const RemarkCategories &cat, bool printAsEmitRemarks) {
 
   FailureOr<std::unique_ptr<detail::MLIRRemarkStreamerBase>> sOr =
@@ -68,8 +67,7 @@ LogicalResult enableOptimizationRemarksWithLLVMStreamer(
   if (failed(sOr))
     return failure();
 
-  return remark::enableOptimizationRemarks(ctx, std::move(*sOr),
-                                           std::move(remarkEmittingPolicy), 
cat,
+  return remark::enableOptimizationRemarks(ctx, std::move(*sOr), cat,
                                            printAsEmitRemarks);
 }
 

diff  --git a/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp 
b/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
index 212793c22d152..30fd384f3977c 100644
--- a/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
+++ b/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
@@ -37,7 +37,6 @@
 #include "llvm/ADT/StringRef.h"
 #include "llvm/Remarks/RemarkFormat.h"
 #include "llvm/Support/CommandLine.h"
-#include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/InitLLVM.h"
 #include "llvm/Support/LogicalResult.h"
 #include "llvm/Support/ManagedStatic.h"
@@ -46,7 +45,6 @@
 #include "llvm/Support/SourceMgr.h"
 #include "llvm/Support/ThreadPool.h"
 #include "llvm/Support/ToolOutputFile.h"
-#include <memory>
 
 using namespace mlir;
 using namespace llvm;
@@ -228,18 +226,6 @@ struct MlirOptMainConfigCLOptions : public 
MlirOptMainConfig {
                                     "bitstream", "Print bitstream file")),
         llvm::cl::cat(remarkCategory)};
 
-    static llvm::cl::opt<RemarkPolicy, /*ExternalStorage=*/true> remarkPolicy{
-        "remark-policy",
-        llvm::cl::desc("Specify the policy for remark output."),
-        cl::location(remarkPolicyFlag),
-        llvm::cl::value_desc("format"),
-        llvm::cl::init(RemarkPolicy::REMARK_POLICY_ALL),
-        llvm::cl::values(clEnumValN(RemarkPolicy::REMARK_POLICY_ALL, "all",
-                                    "Print all remarks"),
-                         clEnumValN(RemarkPolicy::REMARK_POLICY_FINAL, "final",
-                                    "Print final remarks")),
-        llvm::cl::cat(remarkCategory)};
-
     static cl::opt<std::string, /*ExternalStorage=*/true> remarksAll(
         "remarks-filter",
         cl::desc("Show all remarks: passed, missed, failed, analysis"),
@@ -531,28 +517,18 @@ performActions(raw_ostream &os,
     return failure();
 
   context->enableMultithreading(wasThreadingEnabled);
-  // Set the remark categories and policy.
+
   remark::RemarkCategories cats{
       config.getRemarksAllFilter(), config.getRemarksPassedFilter(),
       config.getRemarksMissedFilter(), config.getRemarksAnalyseFilter(),
       config.getRemarksFailedFilter()};
 
   mlir::MLIRContext &ctx = *context;
-  // Helper to create the appropriate policy based on configuration
-  auto createPolicy = [&config]()
-      -> std::unique_ptr<mlir::remark::detail::RemarkEmittingPolicyBase> {
-    if (config.getRemarkPolicy() == RemarkPolicy::REMARK_POLICY_ALL)
-      return std::make_unique<mlir::remark::RemarkEmittingPolicyAll>();
-    if (config.getRemarkPolicy() == RemarkPolicy::REMARK_POLICY_FINAL)
-      return std::make_unique<mlir::remark::RemarkEmittingPolicyFinal>();
-
-    llvm_unreachable("Invalid remark policy");
-  };
 
   switch (config.getRemarkFormat()) {
   case RemarkFormat::REMARK_FORMAT_STDOUT:
     if (failed(mlir::remark::enableOptimizationRemarks(
-            ctx, nullptr, createPolicy(), cats, true /*printAsEmitRemarks*/)))
+            ctx, nullptr, cats, true /*printAsEmitRemarks*/)))
       return failure();
     break;
 
@@ -561,7 +537,7 @@ performActions(raw_ostream &os,
                            ? "mlir-remarks.yaml"
                            : config.getRemarksOutputFile();
     if (failed(mlir::remark::enableOptimizationRemarksWithLLVMStreamer(
-            ctx, file, llvm::remarks::Format::YAML, createPolicy(), cats)))
+            ctx, file, llvm::remarks::Format::YAML, cats)))
       return failure();
     break;
   }
@@ -571,7 +547,7 @@ performActions(raw_ostream &os,
                            ? "mlir-remarks.bitstream"
                            : config.getRemarksOutputFile();
     if (failed(mlir::remark::enableOptimizationRemarksWithLLVMStreamer(
-            ctx, file, llvm::remarks::Format::Bitstream, createPolicy(), 
cats)))
+            ctx, file, llvm::remarks::Format::Bitstream, cats)))
       return failure();
     break;
   }

diff  --git a/mlir/test/Pass/remark-final.mlir 
b/mlir/test/Pass/remark-final.mlir
deleted file mode 100644
index 38af8a4bc245d..0000000000000
--- a/mlir/test/Pass/remark-final.mlir
+++ /dev/null
@@ -1,12 +0,0 @@
-// RUN: mlir-opt %s --test-remark --remarks-filter="category.*" 
--remark-policy=final --remark-format=yaml --remarks-output-file=%t.yaml
-// RUN: FileCheck %s < %t.yaml
-module @foo {
-  "test.op"() : () -> ()
-  
-}
-
-// CHECK-NOT: This is a test passed remark (should be dropped)
-
-// CHECK-DAG: !Analysis
-// CHECK-DAG: !Failure
-// CHECK-DAG: !Passed

diff  --git a/mlir/test/lib/Pass/TestRemarksPass.cpp 
b/mlir/test/lib/Pass/TestRemarksPass.cpp
index 5ca2d1a8550aa..3b25686b3dc14 100644
--- a/mlir/test/lib/Pass/TestRemarksPass.cpp
+++ b/mlir/test/lib/Pass/TestRemarksPass.cpp
@@ -43,12 +43,7 @@ class TestRemarkPass : public PassWrapper<TestRemarkPass, 
OperationPass<>> {
           << remark::add("This is a test missed remark")
           << remark::reason("because we are testing the remark pipeline")
           << remark::suggest("try using the remark pipeline feature");
-      mlir::remark::passed(
-          loc,
-          
remark::RemarkOpts::name("test-remark").category("category-1-passed"))
-          << remark::add("This is a test passed remark (should be dropped)")
-          << remark::reason("because we are testing the remark pipeline")
-          << remark::suggest("try using the remark pipeline feature");
+
       mlir::remark::passed(
           loc,
           
remark::RemarkOpts::name("test-remark").category("category-1-passed"))

diff  --git a/mlir/unittests/IR/RemarkTest.cpp 
b/mlir/unittests/IR/RemarkTest.cpp
index 91825387282a3..5bfca255c22ca 100644
--- a/mlir/unittests/IR/RemarkTest.cpp
+++ b/mlir/unittests/IR/RemarkTest.cpp
@@ -53,12 +53,10 @@ TEST(Remark, TestOutputOptimizationRemark) {
                                         /*missed=*/categoryUnroll,
                                         /*analysis=*/categoryRegister,
                                         /*failed=*/categoryInliner};
-    std::unique_ptr<remark::RemarkEmittingPolicyAll> policy =
-        std::make_unique<remark::RemarkEmittingPolicyAll>();
+
     LogicalResult isEnabled =
         mlir::remark::enableOptimizationRemarksWithLLVMStreamer(
-            context, yamlFile, llvm::remarks::Format::YAML, std::move(policy),
-            cats);
+            context, yamlFile, llvm::remarks::Format::YAML, cats);
     ASSERT_TRUE(succeeded(isEnabled)) << "Failed to enable remark engine";
 
     // PASS: something succeeded
@@ -205,10 +203,9 @@ TEST(Remark, TestOutputOptimizationRemarkDiagnostic) {
                                         /*missed=*/categoryUnroll,
                                         /*analysis=*/categoryRegister,
                                         /*failed=*/categoryUnroll};
-    std::unique_ptr<remark::RemarkEmittingPolicyAll> policy =
-        std::make_unique<remark::RemarkEmittingPolicyAll>();
-    LogicalResult isEnabled = remark::enableOptimizationRemarks(
-        context, nullptr, std::move(policy), cats, true);
+
+    LogicalResult isEnabled =
+        remark::enableOptimizationRemarks(context, nullptr, cats, true);
 
     ASSERT_TRUE(succeeded(isEnabled)) << "Failed to enable remark engine";
 
@@ -289,11 +286,8 @@ TEST(Remark, TestCustomOptimizationRemarkDiagnostic) {
                                         /*analysis=*/std::nullopt,
                                         /*failed=*/categoryLoopunroll};
 
-    std::unique_ptr<remark::RemarkEmittingPolicyAll> policy =
-        std::make_unique<remark::RemarkEmittingPolicyAll>();
     LogicalResult isEnabled = remark::enableOptimizationRemarks(
-        context, std::make_unique<MyCustomStreamer>(), std::move(policy), cats,
-        true);
+        context, std::make_unique<MyCustomStreamer>(), cats, true);
     ASSERT_TRUE(succeeded(isEnabled)) << "Failed to enable remark engine";
 
     // Remark 1: pass, category LoopUnroll
@@ -321,66 +315,4 @@ TEST(Remark, TestCustomOptimizationRemarkDiagnostic) {
   EXPECT_NE(errOut.find(pass2Msg), std::string::npos); // printed
   EXPECT_EQ(errOut.find(pass3Msg), std::string::npos); // filtered out
 }
-
-TEST(Remark, TestRemarkFinal) {
-  testing::internal::CaptureStderr();
-  const auto *pass1Msg = "I failed";
-  const auto *pass2Msg = "I failed too";
-  const auto *pass3Msg = "I succeeded";
-  const auto *pass4Msg = "I succeeded too";
-
-  std::string categoryLoopunroll("LoopUnroll");
-
-  std::string seenMsg = "";
-
-  {
-    MLIRContext context;
-    Location loc = FileLineColLoc::get(&context, "test.cpp", 1, 5);
-    Location locOther = FileLineColLoc::get(&context, "test.cpp", 55, 5);
-
-    // Setup the remark engine
-    mlir::remark::RemarkCategories cats{/*all=*/"",
-                                        /*passed=*/categoryLoopunroll,
-                                        /*missed=*/categoryLoopunroll,
-                                        /*analysis=*/categoryLoopunroll,
-                                        /*failed=*/categoryLoopunroll};
-
-    std::unique_ptr<remark::RemarkEmittingPolicyFinal> policy =
-        std::make_unique<remark::RemarkEmittingPolicyFinal>();
-    LogicalResult isEnabled = remark::enableOptimizationRemarks(
-        context, std::make_unique<MyCustomStreamer>(), std::move(policy), cats,
-        true);
-    ASSERT_TRUE(succeeded(isEnabled)) << "Failed to enable remark engine";
-
-    // Remark 1: failure
-    remark::failed(
-        loc, remark::RemarkOpts::name("Unroller").category(categoryLoopunroll))
-        << pass1Msg;
-
-    // Remark 2: failure
-    remark::missed(
-        loc, remark::RemarkOpts::name("Unroller").category(categoryLoopunroll))
-        << remark::reason(pass2Msg);
-
-    // Remark 3: pass
-    remark::passed(
-        loc, remark::RemarkOpts::name("Unroller").category(categoryLoopunroll))
-        << pass3Msg;
-
-    // Remark 4: pass
-    remark::passed(
-        locOther,
-        remark::RemarkOpts::name("Unroller").category(categoryLoopunroll))
-        << pass4Msg;
-  }
-
-  llvm::errs().flush();
-  std::string errOut = ::testing::internal::GetCapturedStderr();
-
-  // Containment checks for messages.
-  EXPECT_EQ(errOut.find(pass1Msg), std::string::npos); // dropped
-  EXPECT_EQ(errOut.find(pass2Msg), std::string::npos); // dropped
-  EXPECT_NE(errOut.find(pass3Msg), std::string::npos); // shown
-  EXPECT_NE(errOut.find(pass4Msg), std::string::npos); // shown
-}
 } // namespace


        
_______________________________________________
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to