[clang] [CIR] Add support for indirect calls (PR #139748)

Andy Kaylor via cfe-commits cfe-commits at lists.llvm.org
Thu May 15 11:49:34 PDT 2025


================
@@ -464,15 +464,35 @@ OpFoldResult cir::CastOp::fold(FoldAdaptor adaptor) {
 // CallOp
 //===----------------------------------------------------------------------===//
 
+mlir::OperandRange cir::CallOp::getArgOperands() {
+  if (isIndirect())
+    return getArgs().drop_front(1);
+  return getArgs();
+}
+
+mlir::MutableOperandRange cir::CallOp::getArgOperandsMutable() {
+  mlir::MutableOperandRange args = getArgsMutable();
+  if (isIndirect())
+    return args.slice(1, args.size() - 1);
----------------
andykaylor wrote:

I guess `mlir::MutableOperandRange` doesn't support `drop_front()`?

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


More information about the cfe-commits mailing list