[Mlir-commits] [mlir] fbb1b12 - [MLIR] Don't verify call signature for indirect opaque ptr call

Nikita Popov llvmlistbot at llvm.org
Tue Jan 17 01:55:13 PST 2023


Author: Nikita Popov
Date: 2023-01-17T10:55:04+01:00
New Revision: fbb1b122ec2126baf0743f38ae2ec4ae8a5f9f9e

URL: https://github.com/llvm/llvm-project/commit/fbb1b122ec2126baf0743f38ae2ec4ae8a5f9f9e
DIFF: https://github.com/llvm/llvm-project/commit/fbb1b122ec2126baf0743f38ae2ec4ae8a5f9f9e.diff

LOG: [MLIR] Don't verify call signature for indirect opaque ptr call

Fixes a crash when converting the instructions.ll test to opaque
pointers.

Added: 
    

Modified: 
    mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    mlir/test/Target/LLVMIR/Import/instructions.ll

Removed: 
    


################################################################################
diff  --git a/mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp b/mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
index 54cdf98b0c3f6..5be597c8a6526 100644
--- a/mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
+++ b/mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
@@ -1199,6 +1199,10 @@ LogicalResult CallOp::verifySymbolUses(SymbolTableCollection &symbolTable) {
     if (!ptrType)
       return emitOpError("indirect call expects a pointer as callee: ")
              << ptrType;
+
+    if (ptrType.isOpaque())
+      return success();
+
     fnType = ptrType.getElementType();
   } else {
     Operation *callee =

diff  --git a/mlir/test/Target/LLVMIR/Import/instructions.ll b/mlir/test/Target/LLVMIR/Import/instructions.ll
index bd44c28d008c2..cb72566628af8 100644
--- a/mlir/test/Target/LLVMIR/Import/instructions.ll
+++ b/mlir/test/Target/LLVMIR/Import/instructions.ll
@@ -427,7 +427,7 @@ define float @call_fn(i32 %arg1) {
 
 ; CHECK-LABEL: @call_fn_ptr
 ; CHECK-SAME:  %[[PTR:[a-zA-Z0-9]+]]
-define void @call_fn_ptr(void (i16) *%fn) {
+define void @call_fn_ptr(ptr %fn) {
   ; CHECK:  %[[C0:[0-9]+]] = llvm.mlir.constant(0 : i16) : i16
   ; CHECK:  llvm.call %[[PTR]](%[[C0]])
   call void %fn(i16 0)


        


More information about the Mlir-commits mailing list