My Project
Public Member Functions | List of all members
mlir::InlinerInterface Class Reference

#include <InliningUtils.h>

Inheritance diagram for mlir::InlinerInterface:
Inheritance graph
[legend]
Collaboration diagram for mlir::InlinerInterface:
Collaboration graph
[legend]

Public Member Functions

virtual void processInlinedBlocks (iterator_range< Region::iterator > inlinedBlocks)
 
virtual bool isLegalToInline (Region *dest, Region *src, BlockAndValueMapping &valueMapping) const
 
virtual bool isLegalToInline (Operation *op, Region *dest, BlockAndValueMapping &valueMapping) const
 
virtual bool shouldAnalyzeRecursively (Operation *op) const
 
virtual void handleTerminator (Operation *op, Block *newDest) const
 
virtual void handleTerminator (Operation *op, ArrayRef< Value > valuesToRepl) const
 
- Public Member Functions inherited from mlir::DialectInterfaceCollection< DialectInlinerInterface >
 DialectInterfaceCollection (MLIRContext *ctx)
 Collect the registered dialect interfaces within the provided context. More...
 
const DialectInlinerInterfacegetInterfaceFor (Object *obj) const
 
iterator begin () const
 
iterator end () const
 
- Public Member Functions inherited from mlir::detail::DialectInterfaceCollectionBase
 DialectInterfaceCollectionBase (MLIRContext *ctx, ClassID *interfaceKind)
 
virtual ~DialectInterfaceCollectionBase ()
 

Additional Inherited Members

- Public Types inherited from mlir::DialectInterfaceCollection< DialectInlinerInterface >
using Base = DialectInterfaceCollection< DialectInlinerInterface >
 
using iterator = detail::DialectInterfaceCollectionBase::iterator< DialectInlinerInterface >
 Iterator access to the held interfaces. More...
 
- Protected Member Functions inherited from mlir::detail::DialectInterfaceCollectionBase
const DialectInterfacegetInterfaceFor (Operation *op) const
 
const DialectInterfacegetInterfaceFor (Dialect *dialect) const
 Get the interface for the given dialect. More...
 
template<typename InterfaceT >
iterator< InterfaceT > interface_begin () const
 Iterator access to the held interfaces. More...
 
template<typename InterfaceT >
iterator< InterfaceT > interface_end () const
 

Detailed Description

This interface provides the hooks into the inlining interface. Note: this class automatically collects 'DialectInlinerInterface' objects registered to each dialect within the given context.

Member Function Documentation

◆ handleTerminator() [1/2]

void InlinerInterface::handleTerminator ( Operation op,
Block newDest 
) const
virtual

Handle the given inlined terminator by replacing it with a new operation as necessary.

◆ handleTerminator() [2/2]

void InlinerInterface::handleTerminator ( Operation op,
ArrayRef< Value valuesToRepl 
) const
virtual

Handle the given inlined terminator by replacing it with a new operation as necessary.

◆ isLegalToInline() [1/2]

bool InlinerInterface::isLegalToInline ( Region dest,
Region src,
BlockAndValueMapping valueMapping 
) const
virtual

These hooks mirror the hooks for the DialectInlinerInterface, with default implementations that call the hook on the handler for the dialect 'op' is registered to.

◆ isLegalToInline() [2/2]

bool InlinerInterface::isLegalToInline ( Operation op,
Region dest,
BlockAndValueMapping valueMapping 
) const
virtual

◆ processInlinedBlocks()

virtual void mlir::InlinerInterface::processInlinedBlocks ( iterator_range< Region::iterator inlinedBlocks)
inlinevirtual

Process a set of blocks that have been inlined. This callback is invoked before inlined terminator operations have been processed.

◆ shouldAnalyzeRecursively()

bool InlinerInterface::shouldAnalyzeRecursively ( Operation op) const
virtual

The documentation for this class was generated from the following files: