[Mlir-commits] [mlir] [MLIR][LLVM] Make default visibility printable (PR #227291)

Ziliang Zhang llvmlistbot at llvm.org
Tue Sep 29 21:01:34 PDT 2026


https://github.com/ziliangzl updated https://github.com/llvm/llvm-project/pull/227291

>From 4325044594ed6a8a21b0b97598a7ae6cbd748ef5 Mon Sep 17 00:00:00 2001
From: Ziliang Zhang <zzl.coding at gmail.com>
Date: Tue, 29 Sep 2026 20:32:34 +0800
Subject: [PATCH] [MLIR][LLVM] Make default visibility printable

Register a spelling for the default visibility so pass instrumentation can serialize the option without crashing. Add an IR printing regression test.
---
 mlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.td | 1 +
 mlir/test/Dialect/LLVMIR/use-default-visibility.mlir  | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/mlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.td b/mlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.td
index 73fc9cae23ac5..d0b6dd0d6b0ec 100644
--- a/mlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.td
+++ b/mlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.td
@@ -58,6 +58,7 @@ def LLVMUseDefaultVisibilityPass
       [Option<"useVisibility", "visibility", "::mlir::LLVM::Visibility",
               /*default=*/"::mlir::LLVM::Visibility::Default",
               "Visibility to use in place of default.", [{::llvm::cl::values(
+	     clEnumValN(::mlir::LLVM::Visibility::Default, "default", "Default"),
 	     clEnumValN(::mlir::LLVM::Visibility::Hidden, "hidden", "Hidden"),
 	     clEnumValN(::mlir::LLVM::Visibility::Protected, "protected", "Protected")
 	   )}]>,
diff --git a/mlir/test/Dialect/LLVMIR/use-default-visibility.mlir b/mlir/test/Dialect/LLVMIR/use-default-visibility.mlir
index 112c465b5514a..7a094479651c7 100644
--- a/mlir/test/Dialect/LLVMIR/use-default-visibility.mlir
+++ b/mlir/test/Dialect/LLVMIR/use-default-visibility.mlir
@@ -1,5 +1,10 @@
 // RUN: mlir-opt --llvm-use-default-visibility=visibility=hidden %s | FileCheck %s --check-prefix=HIDDEN
 // RUN: mlir-opt --llvm-use-default-visibility=visibility=protected %s | FileCheck %s --check-prefix=PROTECTED
+// RUN: mlir-opt --pass-pipeline='builtin.module(llvm-use-default-visibility)' %s \
+// RUN:   --dump-pass-pipeline -o /dev/null 2>&1 \
+// RUN:   | FileCheck %s --check-prefix=DEFAULT
+
+// DEFAULT: llvm-use-default-visibility{visibility=default}
 
 // Ensure the global function definitions and global values are changed to the specified visibility,
 // and only when they have default visibility.



More information about the Mlir-commits mailing list