Lines Matching defs:callable

76 bool InlinerInterface::isLegalToInline(Operation *call, Operation *callable,
79 return handler->isLegalToInline(call, callable, wouldBeCloned);
134 Operation *callable, Value argument,
136 auto *handler = getInterfaceFor(callable);
138 return handler->handleArgument(builder, call, callable, argument,
143 Operation *callable, Value result,
145 auto *handler = getInterfaceFor(callable);
147 return handler->handleResult(builder, call, callable, result, resultAttrs);
190 CallableOpInterface callable,
194 callable.getCallableRegion()->getNumArguments(),
196 if (ArrayAttr arrayAttr = callable.getArgAttrsAttr()) {
204 llvm::zip(callable.getCallableRegion()->getArguments(), argAttrs)) {
206 builder, call, callable, mapper.lookup(blockArg), argAttr);
216 CallOpInterface call, CallableOpInterface callable,
221 if (ArrayAttr arrayAttr = callable.getResAttrsAttr()) {
236 interface.handleResult(builder, call, callable, result, resAttr);
272 // Run the argument attribute handler before inlining the callable region.
274 auto callable = dyn_cast<CallableOpInterface>(src->getParentOp());
275 if (call && callable)
276 handleArgumentImpl(interface, builder, call, callable, mapper);
316 if (call && callable)
317 handleResultImpl(interface, builder, call, callable,
339 if (call && callable)
340 handleResultImpl(interface, builder, call, callable,
451 /// This function inlines a given region, 'src', of a callable operation,
452 /// 'callable', into the location defined by the given call operation. This
459 CallableOpInterface callable, Region *src,
465 ArrayRef<Type> callableResultTypes = callable.getResultTypes();
511 // Ensure that the resultant values of the call match the callable.
529 // Check that it is legal to inline the callable into the call.
530 if (!interface.isLegalToInline(call, callable, shouldCloneInlinedRegion))