My Project
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
mlir::detail::MemRefTypeStorage Struct Reference

#include <TypeDetail.h>

Inheritance diagram for mlir::detail::MemRefTypeStorage:
Inheritance graph
[legend]
Collaboration diagram for mlir::detail::MemRefTypeStorage:
Collaboration graph
[legend]

Public Types

using KeyTy = std::tuple< ArrayRef< int64_t >, Type, ArrayRef< AffineMap >, unsigned >
 The hash key used for uniquing. More...
 
- Public Types inherited from mlir::detail::ShapedTypeStorage
using KeyTy = Type
 The hash key used for uniquing. More...
 

Public Member Functions

 MemRefTypeStorage (unsigned shapeSize, Type elementType, const int64_t *shapeElements, const unsigned numAffineMaps, AffineMap const *affineMapList, const unsigned memorySpace)
 
bool operator== (const KeyTy &key) const
 
ArrayRef< int64_t > getShape () const
 
ArrayRef< AffineMap > getAffineMaps () const
 
- Public Member Functions inherited from mlir::detail::ShapedTypeStorage
 ShapedTypeStorage (Type elementTy, unsigned subclassData=0)
 
bool operator== (const KeyTy &key) const
 
- Public Member Functions inherited from mlir::TypeStorage
Dialect & getDialect ()
 Get the dialect that this type is registered to. More...
 
unsigned getSubclassData () const
 Get the subclass data. More...
 
void setSubclassData (unsigned val)
 Set the subclass data. More...
 
- Public Member Functions inherited from mlir::StorageUniquer::BaseStorage
unsigned getKind () const
 Get the kind classification of this storage. More...
 

Static Public Member Functions

static MemRefTypeStorage * construct (TypeStorageAllocator &allocator, const KeyTy &key)
 Construction. More...
 

Public Attributes

const int64_t * shapeElements
 An array of integers which stores the shape dimension sizes. More...
 
const unsigned numAffineMaps
 The number of affine maps in the 'affineMapList' array. More...
 
AffineMap const * affineMapList
 List of affine maps in the memref's layout/index map composition. More...
 
const unsigned memorySpace
 Memory space in which data referenced by memref resides. More...
 
- Public Attributes inherited from mlir::detail::ShapedTypeStorage
Type elementType
 

Additional Inherited Members

- Protected Member Functions inherited from mlir::TypeStorage
 TypeStorage (unsigned subclassData=0)
 
- Protected Member Functions inherited from mlir::StorageUniquer::BaseStorage
 BaseStorage ()
 

Member Typedef Documentation

◆ KeyTy

using mlir::detail::MemRefTypeStorage::KeyTy = std::tuple<ArrayRef<int64_t>, Type, ArrayRef<AffineMap>, unsigned>

The hash key used for uniquing.

Constructor & Destructor Documentation

◆ MemRefTypeStorage()

mlir::detail::MemRefTypeStorage::MemRefTypeStorage ( unsigned  shapeSize,
Type  elementType,
const int64_t *  shapeElements,
const unsigned  numAffineMaps,
AffineMap const *  affineMapList,
const unsigned  memorySpace 
)
inline

Member Function Documentation

◆ construct()

static MemRefTypeStorage* mlir::detail::MemRefTypeStorage::construct ( TypeStorageAllocator &  allocator,
const KeyTy &  key 
)
inlinestatic

Construction.

◆ getAffineMaps()

ArrayRef<AffineMap> mlir::detail::MemRefTypeStorage::getAffineMaps ( ) const
inline

◆ getShape()

ArrayRef<int64_t> mlir::detail::MemRefTypeStorage::getShape ( ) const
inline

◆ operator==()

bool mlir::detail::MemRefTypeStorage::operator== ( const KeyTy &  key) const
inline

Member Data Documentation

◆ affineMapList

AffineMap const* mlir::detail::MemRefTypeStorage::affineMapList

List of affine maps in the memref's layout/index map composition.

◆ memorySpace

const unsigned mlir::detail::MemRefTypeStorage::memorySpace

Memory space in which data referenced by memref resides.

◆ numAffineMaps

const unsigned mlir::detail::MemRefTypeStorage::numAffineMaps

The number of affine maps in the 'affineMapList' array.

◆ shapeElements

const int64_t* mlir::detail::MemRefTypeStorage::shapeElements

An array of integers which stores the shape dimension sizes.


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