MLIR
20.0.0git
|
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::HasRecursiveMemoryEffects< ConcreteType > |
This trait indicates that the memory effects of an operation includes the effects of operations nested within its regions. More... | |
struct | mlir::OpTrait::RecursivelySpeculatableImplTrait< ConcreteType > |
This trait marks an op (which must be tagged as implementing the ConditionallySpeculatable interface) as being recursively speculatable. More... | |
struct | mlir::OpTrait::AlwaysSpeculatableImplTrait< ConcreteType > |
This trait marks an op (which must be tagged as implementing the ConditionallySpeculatable interface) as being always speculatable. 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::Speculation | |
mlir::OpTrait | |
mlir::MemoryEffects | |
Typedefs | |
using | mlir::MemoryEffects::EffectInstance = SideEffects::EffectInstance< Effect > |
Enumerations | |
enum class | mlir::Speculation::Speculatability { mlir::Speculation::NotSpeculatable , mlir::Speculation::Speculatable , mlir::Speculation::RecursivelySpeculatable } |
This enum is returned from the getSpeculatability method in the ConditionallySpeculatable op interface. More... | |
Functions | |
template<typename EffectTy > | |
bool | mlir::hasSingleEffect (Operation *op) |
Returns true if op has only an effect of type EffectTy . More... | |
template<typename EffectTy > | |
bool | mlir::hasSingleEffect (Operation *op, Value value) |
Returns true if op has only an effect of type EffectTy (and of no other type) on value . More... | |
template<typename ValueTy , typename EffectTy > | |
bool | mlir::hasSingleEffect (Operation *op, ValueTy value) |
Returns true if op has only an effect of type EffectTy (and of no other type) on value of type ValueTy . More... | |
template<typename... EffectTys> | |
bool | mlir::hasEffect (Operation *op) |
Returns true if op has an effect of type EffectTy . More... | |
template<typename... EffectTys> | |
bool | mlir::hasEffect (Operation *op, Value value) |
Returns true if op has an effect of type EffectTy on value . More... | |
template<typename ValueTy , typename... EffectTys> | |
bool | mlir::hasEffect (Operation *op, ValueTy value) |
Returns true if op has an effect of type EffectTy on value of type ValueTy . 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... | |
bool | mlir::isMemoryEffectFree (Operation *op) |
Returns true if the given operation is free of memory effects. More... | |
std::optional< llvm::SmallVector< MemoryEffects::EffectInstance > > | mlir::getEffectsRecursively (Operation *rootOp) |
Returns the side effects of an operation. More... | |
bool | mlir::isSpeculatable (Operation *op) |
Returns true if the given operation is speculatable, i.e. More... | |
bool | mlir::isPure (Operation *op) |
Returns true if the given operation is pure, i.e., is speculatable that does not touch memory. More... | |
Variables | |
constexpr auto | mlir::Speculation::NotSpeculatable = Speculatability::NotSpeculatable |
constexpr auto | mlir::Speculation::Speculatable = Speculatability::Speculatable |
constexpr auto | mlir::Speculation::RecursivelySpeculatable |