[Mlir-commits] [mlir] da224d6 - [mlir][llvm] Gate unhandled function metadata warning (#221895)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Wed Sep 9 07:15:36 PDT 2026
Author: Tobias Gysi
Date: 2026-09-09T16:15:30+02:00
New Revision: da224d66042451154a83001456ea7d4e09819454
URL: https://github.com/llvm/llvm-project/commit/da224d66042451154a83001456ea7d4e09819454
DIFF: https://github.com/llvm/llvm-project/commit/da224d66042451154a83001456ea7d4e09819454.diff
LOG: [mlir][llvm] Gate unhandled function metadata warning (#221895)
Emit the warning for unhandled function metadata only when expensive
warnings are requested, matching how the flag is already used for
instruction metadata.
Co-Authored-By: Claude Opus 5
Added:
Modified:
mlir/lib/Target/LLVMIR/ModuleImport.cpp
mlir/test/Target/LLVMIR/Import/function-attributes.ll
mlir/test/Target/LLVMIR/Import/function-metadata.ll
Removed:
################################################################################
diff --git a/mlir/lib/Target/LLVMIR/ModuleImport.cpp b/mlir/lib/Target/LLVMIR/ModuleImport.cpp
index 00fb013f08d5e..ce6da7b1b6c3d 100644
--- a/mlir/lib/Target/LLVMIR/ModuleImport.cpp
+++ b/mlir/lib/Target/LLVMIR/ModuleImport.cpp
@@ -3382,6 +3382,8 @@ LogicalResult ModuleImport::processFunction(llvm::Function *func) {
llvm::MDNode *metadataNode = node;
auto emitUnhandledFunctionMetadataWarning = [&]() {
+ if (!emitExpensiveWarnings)
+ return;
emitWarning(funcOp.getLoc())
<< "unhandled function metadata: "
<< diagMD(metadataNode, llvmModule.get()) << " on " << diag(*func);
diff --git a/mlir/test/Target/LLVMIR/Import/function-attributes.ll b/mlir/test/Target/LLVMIR/Import/function-attributes.ll
index a6f0fe8b08972..efcb7e4a6526e 100644
--- a/mlir/test/Target/LLVMIR/Import/function-attributes.ll
+++ b/mlir/test/Target/LLVMIR/Import/function-attributes.ll
@@ -1,4 +1,4 @@
-; RUN: mlir-translate -import-llvm -split-input-file %s --verify-diagnostics | FileCheck %s
+; RUN: mlir-translate -import-llvm -emit-expensive-warnings -split-input-file %s --verify-diagnostics | FileCheck %s
; CHECK: llvm.func internal @func_internal
define internal void @func_internal() {
diff --git a/mlir/test/Target/LLVMIR/Import/function-metadata.ll b/mlir/test/Target/LLVMIR/Import/function-metadata.ll
index f74f1bb1216c7..2b244835d6a1d 100644
--- a/mlir/test/Target/LLVMIR/Import/function-metadata.ll
+++ b/mlir/test/Target/LLVMIR/Import/function-metadata.ll
@@ -1,5 +1,5 @@
-; RUN: mlir-translate -import-llvm -split-input-file %s | FileCheck %s
-; RUN: mlir-translate -import-llvm -split-input-file %s -o /dev/null 2>&1 | FileCheck %s --check-prefix=WARN
+; RUN: mlir-translate -import-llvm -split-input-file %s --verify-diagnostics | FileCheck %s
+; RUN: mlir-translate -import-llvm -emit-expensive-warnings -split-input-file %s -o /dev/null 2>&1 | FileCheck %s --check-prefix=WARN
; CHECK-LABEL: llvm.func @repeated_type_metadata
; CHECK-SAME: function_metadata
More information about the Mlir-commits
mailing list