MLIR  16.0.0git
Classes | Public Member Functions | List of all members
mlir::AffineReadOpInterface Class Reference

#include "mlir/Dialect/Affine/IR/AffineMemoryOpInterfaces.h"

+ Inheritance diagram for mlir::AffineReadOpInterface:
+ Collaboration diagram for mlir::AffineReadOpInterface:

Classes

struct  Trait
 

Public Member Functions

Value getMemRef ()
 Returns the memref operand to read from. More...
 
MemRefType getMemRefType ()
 Returns the type of the memref operand. More...
 
Operation::operand_range getMapOperands ()
 Returns affine map operands. More...
 
AffineMap getAffineMap ()
 Returns the affine map used to index the memref for this operation. More...
 
Value getValue ()
 Returns the value read by this operation. More...
 
- Public Member Functions inherited from mlir::detail::Interface< AffineReadOpInterface, Operation *, detail::AffineReadOpInterfaceInterfaceTraits, Op< AffineReadOpInterface >, OpTrait::TraitBase >
 Interface (Operation * t=Operation *())
 Construct an interface from an instance of the value type. More...
 
 Interface (std::nullptr_t)
 
 Interface (T t)
 Construct an interface instance from a type that implements this interface's trait. More...
 
 Interface (Operation * t, std::nullptr_t)
 Constructor for DenseMapInfo's empty key and tombstone key. More...
 
- Public Member Functions inherited from mlir::Op< AffineReadOpInterface >
AffineReadOpInterface clone ()
 Create a deep copy of this operation. More...
 
AffineReadOpInterface cloneWithoutRegions ()
 Create a partial copy of this operation without traversing into attached regions. More...
 
 Op ()
 This is a public constructor. Any op can be initialized to null. More...
 
 Op (std::nullptr_t)
 
 Op (Operation *state)
 This is a public constructor to enable access via the llvm::cast family of methods. More...
 
const voidgetAsOpaquePointer () const
 Methods for supporting PointerLikeTypeTraits. More...
 
- Public Member Functions inherited from mlir::OpState
 operator bool ()
 Ops are pointer-like, so we allow conversion to bool. More...
 
 operator Operation * () const
 This implicitly converts to Operation*. More...
 
Operationoperator-> () const
 Shortcut of -> to access a member of Operation. More...
 
OperationgetOperation ()
 Return the operation that this refers to. More...
 
MLIRContextgetContext ()
 Return the context this operation belongs to. More...
 
void print (raw_ostream &os, OpPrintingFlags flags=llvm::None)
 Print the operation to the given stream. More...
 
void print (raw_ostream &os, AsmState &asmState)
 
void dump ()
 Dump this operation. More...
 
Location getLoc ()
 The source location the operation was defined or derived from. More...
 
bool use_empty ()
 Return true if there are no users of any results of this operation. More...
 
void erase ()
 Remove this operation from its parent block and delete it. More...
 
InFlightDiagnostic emitOpError (const Twine &message={})
 Emit an error with the op name prefixed, like "'dim' op " which is convenient for verifiers. More...
 
InFlightDiagnostic emitError (const Twine &message={})
 Emit an error about fatal conditions with this operation, reporting up to any diagnostic handlers that may be listening. More...
 
InFlightDiagnostic emitWarning (const Twine &message={})
 Emit a warning about this operation, reporting up to any diagnostic handlers that may be listening. More...
 
InFlightDiagnostic emitRemark (const Twine &message={})
 Emit a remark about this operation, reporting up to any diagnostic handlers that may be listening. More...
 
template<WalkOrder Order = WalkOrder::PostOrder, typename FnT , typename RetT = detail::walkResultType<FnT>>
std::enable_if_t< llvm::function_traits< std::decay_t< FnT > >::num_args==1, RetT > walk (FnT &&callback)
 Walk the operation by calling the callback for each nested operation (including this one), block or region, depending on the callback provided. More...
 
template<typename FnT , typename RetT = detail::walkResultType<FnT>>
std::enable_if_t< llvm::function_traits< std::decay_t< FnT > >::num_args==2, RetT > walk (FnT &&callback)
 Generic walker with a stage aware callback. More...
 

Additional Inherited Members

- Public Types inherited from mlir::OpInterface< AffineReadOpInterface, detail::AffineReadOpInterfaceInterfaceTraits >
using Base = OpInterface< AffineReadOpInterface, detail::AffineReadOpInterfaceInterfaceTraits >
 
using InterfaceBase = detail::Interface< AffineReadOpInterface, Operation *, detail::AffineReadOpInterfaceInterfaceTraits, Op< AffineReadOpInterface >, OpTrait::TraitBase >
 
using InterfaceBase = Interface< AffineReadOpInterface, ValueT, detail::AffineReadOpInterfaceInterfaceTraits, BaseType, BaseTrait >
 Inherit the base class constructor. More...
 
- Public Types inherited from mlir::detail::Interface< AffineReadOpInterface, Operation *, detail::AffineReadOpInterfaceInterfaceTraits, Op< AffineReadOpInterface >, OpTrait::TraitBase >
using Concept = typename detail::AffineReadOpInterfaceInterfaceTraits ::Concept
 
using Model = typename detail::AffineReadOpInterfaceInterfaceTraits ::template Model< T >
 
using FallbackModel = typename detail::AffineReadOpInterfaceInterfaceTraits ::template FallbackModel< T >
 
using InterfaceBase = Interface< AffineReadOpInterface, Operation *, detail::AffineReadOpInterfaceInterfaceTraits, Op< AffineReadOpInterface >, OpTrait::TraitBase >
 
using ExternalModel = typename detail::AffineReadOpInterfaceInterfaceTraits ::template ExternalModel< T, U >
 
using ValueType = Operation *
 
- Public Types inherited from mlir::Op< AffineReadOpInterface >
using ConcreteOpType = AffineReadOpInterface
 Expose the type we are instantiated on to template machinery that may want to introspect traits on this operation. More...
 
- Static Public Member Functions inherited from mlir::detail::Interface< AffineReadOpInterface, Operation *, detail::AffineReadOpInterfaceInterfaceTraits, Op< AffineReadOpInterface >, OpTrait::TraitBase >
static bool classof (Operation * t)
 Support 'classof' by checking if the given object defines the concrete interface. More...
 
static TypeID getInterfaceID ()
 Define an accessor for the ID of this interface. More...
 
- Static Public Member Functions inherited from mlir::Op< AffineReadOpInterface >
static constexpr bool hasTrait ()
 Return if this operation contains the provided trait. More...
 
static bool classof (Operation *op)
 Return true if this "op class" can match against the specified operation. More...
 
static std::enable_if_t< std::is_base_of< OpState, T >::value, bool > classof (const T *op)
 Provide classof support for other OpBase derived classes, such as Interfaces. More...
 
static ConcreteOpType getFromOpaquePointer (const void *pointer)
 
static void attachInterface (MLIRContext &context)
 Attach the given models as implementations of the corresponding interfaces for the concrete operation. More...
 
- Static Public Member Functions inherited from mlir::OpState
static void getCanonicalizationPatterns (RewritePatternSet &results, MLIRContext *context)
 This hook returns any canonicalization pattern rewrites that the operation supports, for use by the canonicalization pass. More...
 
static void populateDefaultAttrs (const RegisteredOperationName &, NamedAttrList &)
 This hook populates any unset default attrs. More...
 
- Protected Member Functions inherited from mlir::detail::Interface< AffineReadOpInterface, Operation *, detail::AffineReadOpInterfaceInterfaceTraits, Op< AffineReadOpInterface >, OpTrait::TraitBase >
const ConceptgetImpl () const
 Get the raw concept in the correct derived concept type. More...
 
ConceptgetImpl ()
 
- Protected Member Functions inherited from mlir::OpState
LogicalResult verify ()
 If the concrete type didn't implement a custom verifier hook, just fall back to this one which accepts everything. More...
 
LogicalResult verifyRegions ()
 
 OpState (Operation *state)
 Mutability management is handled by the OpWrapper/OpConstWrapper classes, so we can cast it away here. More...
 
- Static Protected Member Functions inherited from mlir::OpInterface< AffineReadOpInterface, detail::AffineReadOpInterfaceInterfaceTraits >
static InterfaceBase::ConceptgetInterfaceFor (Operation *op)
 Returns the impl interface instance for the given operation. More...
 
- Static Protected Member Functions inherited from mlir::OpState
static ParseResult parse (OpAsmParser &parser, OperationState &result)
 Parse the custom form of an operation. More...
 
static void print (Operation *op, OpAsmPrinter &p, StringRef defaultDialect)
 Print the operation. More...
 
static void printOpName (Operation *op, OpAsmPrinter &p, StringRef defaultDialect)
 Print an operation name, eliding the dialect prefix if necessary. More...
 
- Protected Attributes inherited from mlir::OpInterface< AffineReadOpInterface, detail::AffineReadOpInterfaceInterfaceTraits >
friend InterfaceBase
 Allow access to getInterfaceFor. More...
 

Detailed Description

Definition at line 127 of file AffineMemoryOpInterfaces.h.

Member Function Documentation

◆ getAffineMap()

AffineMap mlir::AffineReadOpInterface::getAffineMap ( )

Returns the affine map used to index the memref for this operation.

◆ getMapOperands()

Operation::operand_range mlir::AffineReadOpInterface::getMapOperands ( )

Returns affine map operands.

Referenced by mlir::MemRefAccess::MemRefAccess().

◆ getMemRef()

Value mlir::AffineReadOpInterface::getMemRef ( )

Returns the memref operand to read from.

Referenced by forwardStoreToLoad(), loadCSE(), and mlir::MemRefAccess::MemRefAccess().

◆ getMemRefType()

MemRefType mlir::AffineReadOpInterface::getMemRefType ( )

Returns the type of the memref operand.

◆ getValue()

Value mlir::AffineReadOpInterface::getValue ( )

Returns the value read by this operation.

Referenced by forwardStoreToLoad(), and loadCSE().


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