[Mlir-commits] [mlir] edb7292 - [mlir] Add use nameloc to OpPrintingFlags (#129584)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Mon Mar 3 14:55:39 PST 2025
Author: Jacques Pienaar
Date: 2025-03-03T14:55:36-08:00
New Revision: edb7292a511171fb1fe75f85fc85464b91130a8f
URL: https://github.com/llvm/llvm-project/commit/edb7292a511171fb1fe75f85fc85464b91130a8f
DIFF: https://github.com/llvm/llvm-project/commit/edb7292a511171fb1fe75f85fc85464b91130a8f.diff
LOG: [mlir] Add use nameloc to OpPrintingFlags (#129584)
Added:
Modified:
mlir/include/mlir/IR/OperationSupport.h
mlir/lib/IR/AsmPrinter.cpp
mlir/unittests/IR/OperationSupportTest.cpp
Removed:
################################################################################
diff --git a/mlir/include/mlir/IR/OperationSupport.h b/mlir/include/mlir/IR/OperationSupport.h
index fbe0ed29a4d11..2b0e50437afcc 100644
--- a/mlir/include/mlir/IR/OperationSupport.h
+++ b/mlir/include/mlir/IR/OperationSupport.h
@@ -1195,6 +1195,9 @@ class OpPrintingFlags {
/// conflicts across all regions
OpPrintingFlags &printUniqueSSAIDs(bool enable = true);
+ /// Print SSA IDs using their NameLoc, if provided, as prefix.
+ OpPrintingFlags &printNameLocAsPrefix(bool enable = true);
+
/// Return if the given ElementsAttr should be elided.
bool shouldElideElementsAttr(ElementsAttr attr) const;
diff --git a/mlir/lib/IR/AsmPrinter.cpp b/mlir/lib/IR/AsmPrinter.cpp
index 1f22d4f37a813..16bc857ad3416 100644
--- a/mlir/lib/IR/AsmPrinter.cpp
+++ b/mlir/lib/IR/AsmPrinter.cpp
@@ -327,6 +327,11 @@ bool OpPrintingFlags::shouldPrintElementsAttrWithHex(ElementsAttr attr) const {
!llvm::isa<SplatElementsAttr>(attr);
}
+OpPrintingFlags &OpPrintingFlags::printNameLocAsPrefix(bool enable) {
+ useNameLocAsPrefix = enable;
+ return *this;
+}
+
/// Return the size limit for printing large ElementsAttr.
std::optional<int64_t> OpPrintingFlags::getLargeElementsAttrLimit() const {
return elementsAttrElementLimit;
diff --git a/mlir/unittests/IR/OperationSupportTest.cpp b/mlir/unittests/IR/OperationSupportTest.cpp
index f94dc78445807..bac2b72b68deb 100644
--- a/mlir/unittests/IR/OperationSupportTest.cpp
+++ b/mlir/unittests/IR/OperationSupportTest.cpp
@@ -230,6 +230,26 @@ TEST(OperationFormatPrintTest, CanUseVariadicFormat) {
op->destroy();
}
+TEST(OperationFormatPrintTest, CanPrintNameAsPrefix) {
+ MLIRContext context;
+ Builder builder(&context);
+
+ context.allowUnregisteredDialects();
+ Operation *op = Operation::create(
+ NameLoc::get(StringAttr::get(&context, "my_named_loc")),
+ OperationName("t.op", &context), builder.getIntegerType(16), std::nullopt,
+ std::nullopt, nullptr, std::nullopt, 0);
+
+ std::string str;
+ OpPrintingFlags flags;
+ flags.printNameLocAsPrefix(true);
+ llvm::raw_string_ostream os(str);
+ op->print(os, flags);
+ ASSERT_STREQ(str.c_str(), "%my_named_loc = \"t.op\"() : () -> i16\n");
+
+ op->destroy();
+}
+
TEST(NamedAttrListTest, TestAppendAssign) {
MLIRContext ctx;
NamedAttrList attrs;
More information about the Mlir-commits
mailing list