[Mlir-commits] [mlir] [mlir] Add FP software implementation lowering pass: `arith-to-apfloat` (PR #166618)
Jacques Pienaar
llvmlistbot at llvm.org
Mon Nov 10 00:18:05 PST 2025
================
@@ -254,3 +254,46 @@ func::deduplicateArgsOfFuncOp(RewriterBase &rewriter, func::FuncOp funcOp,
return std::make_pair(*newFuncOpOrFailure, newCallOp);
}
+
+FailureOr<func::FuncOp>
+func::lookupOrCreateFnDecl(OpBuilder &b, Operation *moduleOp, StringRef name,
+ ArrayRef<Type> paramTypes,
+ ArrayRef<Type> resultTypes, bool setPrivate,
+ SymbolTableCollection *symbolTables) {
+ assert(moduleOp->hasTrait<OpTrait::SymbolTable>() &&
+ "expected SymbolTable operation");
+
+ FuncOp func;
+ if (symbolTables) {
+ func = symbolTables->lookupSymbolIn<FuncOp>(
+ moduleOp, StringAttr::get(moduleOp->getContext(), name));
+ } else {
+ func = llvm::dyn_cast_or_null<FuncOp>(
+ SymbolTable::lookupSymbolIn(moduleOp, name));
+ }
+
+ FunctionType funcT =
+ FunctionType::get(b.getContext(), paramTypes, resultTypes);
+ // Assert the signature of the found function is same as expected
+ if (func) {
+ if (funcT != func.getFunctionType()) {
+ func.emitError("redefinition of function '")
----------------
jpienaar wrote:
return func.emitError() ?
https://github.com/llvm/llvm-project/pull/166618
More information about the Mlir-commits
mailing list