[Mlir-commits] [mlir] d1840bd - [mlir][llvm] verify external llvm.func not have `function_entry_count` attr (#219231)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Fri Aug 28 01:25:43 PDT 2026
Author: Longsheng Mou
Date: 2026-08-28T16:25:38+08:00
New Revision: d1840bdfe6e38811ea05ffa39b1c987955cadd9c
URL: https://github.com/llvm/llvm-project/commit/d1840bdfe6e38811ea05ffa39b1c987955cadd9c
DIFF: https://github.com/llvm/llvm-project/commit/d1840bdfe6e38811ea05ffa39b1c987955cadd9c.diff
LOG: [mlir][llvm] verify external llvm.func not have `function_entry_count` attr (#219231)
Fixes #218625.
Added:
Modified:
mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
mlir/test/Dialect/LLVMIR/func.mlir
Removed:
################################################################################
diff --git a/mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp b/mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
index 49b697f906318..858425f80ee31 100644
--- a/mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
+++ b/mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
@@ -3325,6 +3325,10 @@ LogicalResult LLVMFuncOp::verify() {
return failure();
if (isExternal()) {
+ if (getFunctionEntryCountAttr())
+ return emitOpError() << "external functions cannot have "
+ << getFunctionEntryCountAttrName() << " attribute";
+
if (getLinkage() != LLVM::Linkage::External &&
getLinkage() != LLVM::Linkage::ExternWeak)
return emitOpError() << "external functions must have '"
diff --git a/mlir/test/Dialect/LLVMIR/func.mlir b/mlir/test/Dialect/LLVMIR/func.mlir
index 8af1e52485425..c32dd51b3740e 100644
--- a/mlir/test/Dialect/LLVMIR/func.mlir
+++ b/mlir/test/Dialect/LLVMIR/func.mlir
@@ -507,6 +507,13 @@ module {
// -----
+module {
+ // expected-error at +1 {{external functions cannot have "function_entry_count" attribute}}
+ llvm.func @external_func() attributes {function_entry_count = #llvm.function_entry_count<entry_count = 1>}
+}
+
+// -----
+
module {
// expected-error at +1 {{functions cannot have 'common' linkage}}
llvm.func common @common_linkage_func()
More information about the Mlir-commits
mailing list