[Mlir-commits] [mlir] 28331c6 - Revert "[mlir] add an option to print op stats in JSON"
Okwan Kwon
llvmlistbot at llvm.org
Tue Jun 14 14:09:35 PDT 2022
Author: Okwan Kwon
Date: 2022-06-14T14:09:18-07:00
New Revision: 28331c609797a17b7db3abe353879e86398eb947
URL: https://github.com/llvm/llvm-project/commit/28331c609797a17b7db3abe353879e86398eb947
DIFF: https://github.com/llvm/llvm-project/commit/28331c609797a17b7db3abe353879e86398eb947.diff
LOG: Revert "[mlir] add an option to print op stats in JSON"
There is a failure from the python pass manager.
This reverts commit 1a19abf38c3afb66b680cea69c8e61ea152e1514.
Added:
Modified:
mlir/include/mlir/Transforms/Passes.td
mlir/lib/Transforms/OpStats.cpp
mlir/test/CAPI/pass.c
Removed:
mlir/test/IR/op-stats-json.mlir
################################################################################
diff --git a/mlir/include/mlir/Transforms/Passes.td b/mlir/include/mlir/Transforms/Passes.td
index 8b8e6a1001574..7ac71ceeb588a 100644
--- a/mlir/include/mlir/Transforms/Passes.td
+++ b/mlir/include/mlir/Transforms/Passes.td
@@ -145,10 +145,6 @@ def LoopInvariantCodeMotion : Pass<"loop-invariant-code-motion"> {
def PrintOpStats : Pass<"print-op-stats"> {
let summary = "Print statistics of operations";
let constructor = "mlir::createPrintOpStatsPass()";
- let options = [
- Option<"printAsJSON", "json", "bool", /*default=*/"false",
- "print the stats as JSON">
- ];
}
def SCCP : Pass<"sccp"> {
diff --git a/mlir/lib/Transforms/OpStats.cpp b/mlir/lib/Transforms/OpStats.cpp
index e7740abb3d19f..8adc4117f9542 100644
--- a/mlir/lib/Transforms/OpStats.cpp
+++ b/mlir/lib/Transforms/OpStats.cpp
@@ -27,9 +27,6 @@ struct PrintOpStatsPass : public PrintOpStatsBase<PrintOpStatsPass> {
// Print summary of op stats.
void printSummary();
- // Print symmary of op stats in JSON.
- void printSummaryInJSON();
-
private:
llvm::StringMap<int64_t> opCount;
raw_ostream &os;
@@ -40,12 +37,8 @@ void PrintOpStatsPass::runOnOperation() {
opCount.clear();
// Compute the operation statistics for the currently visited operation.
- getOperation()->walk(
- [&](Operation *op) { ++opCount[op->getName().getStringRef()]; });
- if (printAsJSON) {
- printSummaryInJSON();
- } else
- printSummary();
+ getOperation()->walk([&](Operation *op) { ++opCount[op->getName().getStringRef()]; });
+ printSummary();
}
void PrintOpStatsPass::printSummary() {
@@ -87,23 +80,6 @@ void PrintOpStatsPass::printSummary() {
}
}
-void PrintOpStatsPass::printSummaryInJSON() {
- SmallVector<StringRef, 64> sorted(opCount.keys());
- llvm::sort(sorted);
-
- os << "{\n";
-
- for (unsigned i = 0, e = sorted.size(); i != e; ++i) {
- const auto &key = sorted[i];
- os << " \"" << key << "\" : " << opCount[key];
- if (i != e - 1)
- os << ",\n";
- else
- os << "\n";
- }
- os << "}\n";
-}
-
std::unique_ptr<Pass> mlir::createPrintOpStatsPass(raw_ostream &os) {
return std::make_unique<PrintOpStatsPass>(os);
}
diff --git a/mlir/test/CAPI/pass.c b/mlir/test/CAPI/pass.c
index f73398e817beb..63aba29e56f61 100644
--- a/mlir/test/CAPI/pass.c
+++ b/mlir/test/CAPI/pass.c
@@ -138,14 +138,14 @@ void testPrintPassPipeline() {
mlirOpPassManagerAddOwnedPass(nestedFuncPm, printOpStatPass);
// Print the top level pass manager
- // CHECK: Top-level: builtin.module(func.func(print-op-stats{json=false}))
+ // CHECK: Top-level: builtin.module(func.func(print-op-stats))
fprintf(stderr, "Top-level: ");
mlirPrintPassPipeline(mlirPassManagerGetAsOpPassManager(pm), printToStderr,
NULL);
fprintf(stderr, "\n");
// Print the pipeline nested one level down
- // CHECK: Nested Module: func.func(print-op-stats{json=false})
+ // CHECK: Nested Module: func.func(print-op-stats)
fprintf(stderr, "Nested Module: ");
mlirPrintPassPipeline(nestedModulePm, printToStderr, NULL);
fprintf(stderr, "\n");
@@ -166,9 +166,8 @@ void testParsePassPipeline() {
// Try parse a pipeline.
MlirLogicalResult status = mlirParsePassPipeline(
mlirPassManagerGetAsOpPassManager(pm),
- mlirStringRefCreateFromCString(
- "builtin.module(func.func(print-op-stats{json=false}),"
- " func.func(print-op-stats{json=false}))"));
+ mlirStringRefCreateFromCString("builtin.module(func.func(print-op-stats),"
+ " func.func(print-op-stats))"));
// Expect a failure, we haven't registered the print-op-stats pass yet.
if (mlirLogicalResultIsSuccess(status)) {
fprintf(
@@ -180,9 +179,8 @@ void testParsePassPipeline() {
mlirRegisterTransformsPrintOpStats();
status = mlirParsePassPipeline(
mlirPassManagerGetAsOpPassManager(pm),
- mlirStringRefCreateFromCString(
- "builtin.module(func.func(print-op-stats{json=false}),"
- " func.func(print-op-stats{json=false}))"));
+ mlirStringRefCreateFromCString("builtin.module(func.func(print-op-stats),"
+ " func.func(print-op-stats))"));
// Expect a failure, we haven't registered the print-op-stats pass yet.
if (mlirLogicalResultIsFailure(status)) {
fprintf(stderr,
@@ -190,8 +188,8 @@ void testParsePassPipeline() {
exit(EXIT_FAILURE);
}
- // CHECK: Round-trip: builtin.module(func.func(print-op-stats{json=false}),
- // func.func(print-op-stats{json=false}))
+ // CHECK: Round-trip: builtin.module(func.func(print-op-stats),
+ // func.func(print-op-stats))
fprintf(stderr, "Round-trip: ");
mlirPrintPassPipeline(mlirPassManagerGetAsOpPassManager(pm), printToStderr,
NULL);
diff --git a/mlir/test/IR/op-stats-json.mlir b/mlir/test/IR/op-stats-json.mlir
deleted file mode 100644
index 40b0602a95897..0000000000000
--- a/mlir/test/IR/op-stats-json.mlir
+++ /dev/null
@@ -1,37 +0,0 @@
-// RUN: mlir-opt -allow-unregistered-dialect -print-op-stats=json %s -o=/dev/null 2>&1 | FileCheck %s
-
-func.func @main(tensor<4xf32>, tensor<4xf32>) -> tensor<4xf32> {
-^bb0(%arg0: tensor<4xf32>, %arg1: tensor<4xf32>):
- %0 = arith.addf %arg0, %arg1 : tensor<4xf32>
- %1 = arith.addf %arg0, %arg1 : tensor<4xf32>
- %2 = arith.addf %arg0, %arg1 : tensor<4xf32>
- %3 = arith.addf %arg0, %arg1 : tensor<4xf32>
- %4 = arith.addf %arg0, %arg1 : tensor<4xf32>
- %5 = arith.addf %arg0, %arg1 : tensor<4xf32>
- %10 = "xla.add"(%0, %arg1) : (tensor<4xf32>,tensor<4xf32>)-> tensor<4xf32>
- %11 = "xla.add"(%0, %arg1) : (tensor<4xf32>,tensor<4xf32>)-> tensor<4xf32>
- %12 = "xla.add"(%0, %arg1) : (tensor<4xf32>,tensor<4xf32>)-> tensor<4xf32>
- %13 = "xla.add"(%0, %arg1) : (tensor<4xf32>,tensor<4xf32>)-> tensor<4xf32>
- %14 = "xla.add"(%0, %arg1) : (tensor<4xf32>,tensor<4xf32>)-> tensor<4xf32>
- %15 = "xla.add"(%0, %arg1) : (tensor<4xf32>,tensor<4xf32>)-> tensor<4xf32>
- %16 = "xla.add"(%0, %arg1) : (tensor<4xf32>,tensor<4xf32>)-> tensor<4xf32>
- %17 = "xla.add"(%0, %arg1) : (tensor<4xf32>,tensor<4xf32>)-> tensor<4xf32>
- %18 = "xla.add"(%0, %arg1) : (tensor<4xf32>,tensor<4xf32>)-> tensor<4xf32>
- %19 = "xla.add"(%0, %arg1) : (tensor<4xf32>,tensor<4xf32>)-> tensor<4xf32>
- %20 = "xla.add"(%0, %arg1) : (tensor<4xf32>,tensor<4xf32>)-> tensor<4xf32>
- %21 = "xla.add"(%0, %arg1) : (tensor<4xf32>,tensor<4xf32>)-> tensor<4xf32>
- %22 = "xla.add"(%0, %arg1) : (tensor<4xf32>,tensor<4xf32>)-> tensor<4xf32>
- %23 = "xla.add"(%0, %arg1) : (tensor<4xf32>,tensor<4xf32>)-> tensor<4xf32>
- %24 = "xla.add"(%0, %arg1) : (tensor<4xf32>,tensor<4xf32>)-> tensor<4xf32>
- %25 = "xla.add"(%0, %arg1) : (tensor<4xf32>,tensor<4xf32>)-> tensor<4xf32>
- %26 = "xla.add"(%0, %arg1) : (tensor<4xf32>,tensor<4xf32>)-> tensor<4xf32>
- %30 = "long_op_name"(%0, %arg1) : (tensor<4xf32>,tensor<4xf32>)-> tensor<4xf32>
- return %1 : tensor<4xf32>
-}
-
-// CHECK: {
-// CHECK: "arith.addf" : 6,
-// CHECK: "func.return" : 1,
-// CHECK: "long_op_name" : 1,
-// CHECK: "xla.add" : 17
-// CHECK: }
More information about the Mlir-commits
mailing list