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< AffineMapgetAffineMaps () 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
DialectgetDialect ()
 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 MemRefTypeStorageconstruct (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: