MLIR  15.0.0git
Classes | Namespaces | Typedefs | Functions
SideEffectInterfaces.h File Reference
#include "mlir/IR/OpDefinition.h"
#include "mlir/Interfaces/SideEffectInterfaces.h.inc"
+ Include dependency graph for SideEffectInterfaces.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  mlir::SideEffects::Effect
 This class represents a base class for a specific effect type. More...
 
class  mlir::SideEffects::Effect::Base< DerivedEffect, BaseEffect >
 This base class is used for derived effects that are non-parametric. More...
 
class  mlir::SideEffects::Resource
 This class represents a specific resource that an effect applies to. More...
 
class  mlir::SideEffects::Resource::Base< DerivedResource, BaseResource >
 This base class is used for derived effects that are non-parametric. More...
 
struct  mlir::SideEffects::DefaultResource
 A conservative default resource kind. More...
 
struct  mlir::SideEffects::AutomaticAllocationScopeResource
 An automatic allocation-scope resource that is valid in the context of a parent AutomaticAllocationScope trait. More...
 
class  mlir::SideEffects::EffectInstance< EffectT >
 This class represents a specific instance of an effect. More...
 
class  mlir::OpTrait::HasRecursiveSideEffects< ConcreteType >
 This trait indicates that the side effects of an operation includes the effects of operations nested within its regions. More...
 
struct  mlir::MemoryEffects::Effect
 This class represents the base class used for memory effects. More...
 
struct  mlir::MemoryEffects::Allocate
 The following effect indicates that the operation allocates from some resource. More...
 
struct  mlir::MemoryEffects::Free
 The following effect indicates that the operation frees some resource that has been allocated. More...
 
struct  mlir::MemoryEffects::Read
 The following effect indicates that the operation reads from some resource. More...
 
struct  mlir::MemoryEffects::Write
 The following effect indicates that the operation writes to some resource. More...
 

Namespaces

 mlir
 Include the generated interface declarations.
 
 mlir::SideEffects
 
 mlir::OpTrait
 
 mlir::MemoryEffects
 

Typedefs

using mlir::MemoryEffects::EffectInstance = SideEffects::EffectInstance< Effect >
 

Functions

template<typename EffectTy >
bool mlir::hasSingleEffect (Operation *op, Value value)
 Returns true if this operation only has the given effect on value. More...
 
bool mlir::isOpTriviallyDead (Operation *op)
 Return true if the given operation is unused, and has no side effects on memory that prevent erasing. More...
 
bool mlir::wouldOpBeTriviallyDead (Operation *op)
 Return true if the given operation would be dead if unused, and has no side effects on memory that would prevent erasing. More...