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

#include <SideEffectsInterface.h>

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

Public Types

enum  SideEffecting { Never, Recursive, Always }
 
- Public Types inherited from mlir::detail::DialectInterfaceBase< ConcreteType, BaseT >
using Base = DialectInterfaceBase< ConcreteType, BaseT >
 

Public Member Functions

 SideEffectsDialectInterface (Dialect *dialect)
 
virtual SideEffecting isSideEffecting (Operation *op) const
 Checks whether the given operation has side-effects. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from mlir::detail::DialectInterfaceBase< ConcreteType, BaseT >
static ClassIDgetInterfaceID ()
 Get a unique id for the derived interface type. More...
 
- Protected Member Functions inherited from mlir::detail::DialectInterfaceBase< ConcreteType, BaseT >
 DialectInterfaceBase (Dialect *dialect)
 

Detailed Description

Specifies an interface for basic side-effect modelling that is used by the loop-invariant code motion pass.

TODO: This interface should be replaced by a more general solution.

Member Enumeration Documentation

◆ SideEffecting

Enumerator
Never 
Recursive 
Always 

Constructor & Destructor Documentation

◆ SideEffectsDialectInterface()

mlir::SideEffectsDialectInterface::SideEffectsDialectInterface ( Dialect dialect)
inline

Member Function Documentation

◆ isSideEffecting()

virtual SideEffecting mlir::SideEffectsDialectInterface::isSideEffecting ( Operation op) const
inlinevirtual

Checks whether the given operation has side-effects.


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