[Mlir-commits] [mlir] [MLIR][LLVM] Make default visibility printable (PR #227291)
Ziliang Zhang
llvmlistbot at llvm.org
Tue Sep 29 05:37:37 PDT 2026
https://github.com/ziliangzl created https://github.com/llvm/llvm-project/pull/227291
Register a spelling for the default visibility so pass instrumentation can serialize the option without crashing. Add an IR printing regression test.
>From db256c245580fe4cbe1279fd713f1094827ef321 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..ee5b2b6016e13 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: --mlir-disable-threading --mlir-print-ir-before-all -o /dev/null 2>&1 \
+// RUN: | FileCheck %s --check-prefix=DEFAULT
+
+// DEFAULT: IR Dump Before LLVMUseDefaultVisibilityPass: 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