[Mlir-commits] [mlir] [mlir][llvm] verify external llvm.func not have `function_entry_count` attr (PR #219231)

Longsheng Mou llvmlistbot at llvm.org
Thu Aug 27 08:35:32 PDT 2026


https://github.com/CoTinker created https://github.com/llvm/llvm-project/pull/219231

Fixes #218625.

>From 9a780ed7e391e690c815cab8cc4bbeef979fae3d Mon Sep 17 00:00:00 2001
From: Longsheng Mou <longshengmou at gmail.com>
Date: Thu, 27 Aug 2026 23:30:35 +0800
Subject: [PATCH] [mlir][llvm] verify external llvm.func not have
 `function_entry_count` attr

---
 mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp | 4 ++++
 mlir/test/Dialect/LLVMIR/func.mlir         | 7 +++++++
 2 files changed, 11 insertions(+)

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