[clang] [CIR] Upstream cir.call with scalar arguments (PR #136810)

Henrich Lauko via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 24 06:54:48 PDT 2025


================
@@ -21,9 +21,24 @@ let cppNamespace = "::cir" in {
   // The CIRCallOpInterface must be used instead of CallOpInterface when looking
   // at arguments and other bits of CallOp. This creates a level of abstraction
   // that's useful for handling indirect calls and other details.
-  def CIRCallOpInterface : OpInterface<"CIRCallOpInterface", []> {
+  def CIRCallOpInterface : OpInterface<"CIRCallOpInterface", [CallOpInterface]> {
     // Currently we don't have any methods defined in CIRCallOpInterface. We'll
     // add more methods as the upstreaming proceeds.
+    let methods = [
+      InterfaceMethod<"", "mlir::Operation::operand_iterator",
+                      "arg_operand_begin", (ins)>,
+      InterfaceMethod<"", "mlir::Operation::operand_iterator",
+                      "arg_operand_end", (ins)>,
----------------
xlauko wrote:

@bcardosolopes any reason why this is part of interface and not just normal method on ops as is in `func::CallOp`?

Interface methods and methods in generally should not use snake_case, but camelCase.
Though it is unfortunately  named using a snake_case in other mlir dialects.

https://github.com/llvm/llvm-project/pull/136810


More information about the cfe-commits mailing list