[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