MLIR  17.0.0git
Classes | Namespaces | Typedefs | Functions
DataLayoutInterfaces.h File Reference
#include "mlir/IR/DialectInterface.h"
#include "mlir/IR/OpDefinition.h"
#include "llvm/ADT/DenseMap.h"
#include "mlir/Interfaces/DataLayoutAttrInterface.h.inc"
#include "mlir/Interfaces/DataLayoutOpInterface.h.inc"
#include "mlir/Interfaces/DataLayoutTypeInterface.h.inc"

Go to the source code of this file.

Classes

class  mlir::DataLayoutDialectInterface
 An interface to be implemented by dialects that can have identifiers in the data layout specification entries. More...
 
class  mlir::DataLayout
 The main mechanism for performing data layout queries. More...
 

Namespaces

 mlir
 This header declares functions that assit transformations in the MemRef dialect.
 
 mlir::detail
 Detect if any of the given parameter types has a sub-element handler.
 

Typedefs

using mlir::DataLayoutEntryKey = llvm::PointerUnion< Type, StringAttr >
 
using mlir::DataLayoutEntryList = llvm::SmallVector< DataLayoutEntryInterface, 4 >
 
using mlir::DataLayoutEntryListRef = llvm::ArrayRef< DataLayoutEntryInterface >
 

Functions

unsigned mlir::detail::getDefaultTypeSize (Type type, const DataLayout &dataLayout, DataLayoutEntryListRef params)
 Default handler for the type size request. More...
 
unsigned mlir::detail::getDefaultTypeSizeInBits (Type type, const DataLayout &dataLayout, DataLayoutEntryListRef params)
 Default handler for the type size in bits request. More...
 
unsigned mlir::detail::getDefaultABIAlignment (Type type, const DataLayout &dataLayout, ArrayRef< DataLayoutEntryInterface > params)
 Default handler for the required alignemnt request. More...
 
unsigned mlir::detail::getDefaultPreferredAlignment (Type type, const DataLayout &dataLayout, ArrayRef< DataLayoutEntryInterface > params)
 Default handler for the preferred alignemnt request. More...
 
Attribute mlir::detail::getDefaultAllocaMemorySpace (DataLayoutEntryInterface entry)
 Default handler for alloca memory space request. More...
 
unsigned mlir::detail::getDefaultStackAlignment (DataLayoutEntryInterface entry)
 Default handler for the stack alignment request. More...
 
DataLayoutEntryList mlir::detail::filterEntriesForType (DataLayoutEntryListRef entries, TypeID typeID)
 Given a list of data layout entries, returns a new list containing the entries with keys having the given type ID, i.e. More...
 
DataLayoutEntryInterface mlir::detail::filterEntryForIdentifier (DataLayoutEntryListRef entries, StringAttr id)
 Given a list of data layout entries, returns the entry that has the given identifier as key, if such an entry exists in the list. More...
 
LogicalResult mlir::detail::verifyDataLayoutOp (Operation *op)
 Verifies that the operation implementing the data layout interface, or a module operation, is valid. More...
 
LogicalResult mlir::detail::verifyDataLayoutSpec (DataLayoutSpecInterface spec, Location loc)
 Verifies that a data layout spec is valid. More...