13 #ifndef MLIR_TRANSFORMS_INLINING_UTILS_H 14 #define MLIR_TRANSFORMS_INLINING_UTILS_H 23 class BlockAndValueMapping;
24 class CallableOpInterface;
25 class CallOpInterface;
86 llvm_unreachable(
"must implement handleTerminator in the case of multiple " 101 "must implement handleTerminator in the case of one inlined block");
183 bool shouldCloneInlinedRegion =
true);
193 bool shouldCloneInlinedRegion =
true);
202 CallableOpInterface callable,
Region *src,
203 bool shouldCloneInlinedRegion =
true);
207 #endif // MLIR_TRANSFORMS_INLINING_UTILS_H Definition: InferTypeOpInterface.cpp:20
LogicalResult inlineRegion(InlinerInterface &interface, Region *src, Operation *inlinePoint, BlockAndValueMapping &mapper, ArrayRef< Value > resultsToReplace, Optional< Location > inlineLoc=llvm::None, bool shouldCloneInlinedRegion=true)
Definition: InliningUtils.cpp:128
virtual bool shouldAnalyzeRecursively(Operation *op) const
Definition: InliningUtils.h:72
Definition: Operation.h:27
Definition: DialectInterface.h:27
DialectInterfaceBase< ConcreteType, BaseT > Base
Definition: DialectInterface.h:29
Block represents an ordered list of Operations.
Definition: Block.h:21
virtual void processInlinedBlocks(iterator_range< Region::iterator > inlinedBlocks)
Definition: InliningUtils.h:137
Definition: DialectInterface.h:150
virtual bool isLegalToInline(Operation *op, Region *dest, BlockAndValueMapping &valueMapping) const
Definition: InliningUtils.h:63
Definition: Location.h:52
LogicalResult inlineCall(InlinerInterface &interface, CallOpInterface call, CallableOpInterface callable, Region *src, bool shouldCloneInlinedRegion=true)
Definition: InliningUtils.cpp:279
Definition: LogicalResult.h:18
virtual void handleTerminator(Operation *op, Block *newDest) const
Definition: InliningUtils.h:85
DialectInlinerInterface(Dialect *dialect)
Definition: InliningUtils.h:42
Definition: InliningUtils.h:39
virtual bool isLegalToInline(Region *dest, Region *src, BlockAndValueMapping &valueMapping) const
Definition: InliningUtils.h:53
Definition: InliningUtils.h:129
Definition: BlockAndValueMapping.h:26
virtual void handleTerminator(Operation *op, ArrayRef< Value > valuesToReplace) const
Definition: InliningUtils.h:98
OperationBuilder< mlir::CallOp > call
Definition: Intrinsics.h:200
virtual Operation * materializeCallConversion(OpBuilder &builder, Value input, Type resultType, Location conversionLoc) const
Definition: InliningUtils.h:119
Definition: StandardTypes.h:63
Definition: Builders.h:158