[flang-commits] [flang] [flang] Fix fir.call setCalleeFromCallable (PR #187124)
Eugene Epshteyn via flang-commits
flang-commits at lists.llvm.org
Tue Mar 17 14:46:38 PDT 2026
================
@@ -0,0 +1,170 @@
+//===- FIRCallInterfaceTest.cpp - fir::CallOp setCalleeFromCallable tests -===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+//
+// Tests for CallOpInterface on fir::CallOp.
+//
+//===----------------------------------------------------------------------===//
+
+#include "gtest/gtest.h"
+#include "mlir/Dialect/Func/IR/FuncOps.h"
+#include "mlir/IR/Builders.h"
+#include "mlir/IR/BuiltinAttributes.h"
+#include "mlir/IR/BuiltinOps.h"
+#include "mlir/Interfaces/CallInterfaces.h"
+#include "flang/Optimizer/Dialect/FIROps.h"
+#include "flang/Optimizer/Support/InitFIR.h"
+#include "llvm/ADT/ArrayRef.h"
+#include "llvm/Support/Casting.h"
+
+using namespace mlir;
+
+static bool isSymbolRef(mlir::CallInterfaceCallable callable) {
+ return llvm::isa<SymbolRefAttr>(callable);
+}
+static bool isValue(mlir::CallInterfaceCallable callable) {
+ return llvm::isa<Value>(callable);
+}
+
+struct FIRCallInterfaceTest : public testing::Test {
+ void SetUp() override { fir::support::loadDialects(context); }
+
+ MLIRContext context;
+};
+
+TEST_F(FIRCallInterfaceTest, setCalleeFromCallable_directToDirect) {
----------------
eugeneepshteyn wrote:
AI said the following:
The tests `setCalleeFromCallable_directToIndirect` only uses a call with no arguments.
**Suggestion**: Add a test case where a direct call with one or more arguments is converted to an indirect call, and verify that the arguments are preserved (shifted to start from index 1).
https://github.com/llvm/llvm-project/pull/187124
More information about the flang-commits
mailing list