MLIR  19.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 "llvm/Support/TypeSize.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
 Include the generated interface declarations.
 
 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

llvm::TypeSize mlir::detail::getDefaultTypeSize (Type type, const DataLayout &dataLayout, DataLayoutEntryListRef params)
 Default handler for the type size request. More...
 
llvm::TypeSize mlir::detail::getDefaultTypeSizeInBits (Type type, const DataLayout &dataLayout, DataLayoutEntryListRef params)
 Default handler for the type size in bits request. More...
 
uint64_t mlir::detail::getDefaultABIAlignment (Type type, const DataLayout &dataLayout, ArrayRef< DataLayoutEntryInterface > params)
 Default handler for the required alignment request. More...
 
uint64_t mlir::detail::getDefaultPreferredAlignment (Type type, const DataLayout &dataLayout, ArrayRef< DataLayoutEntryInterface > params)
 Default handler for the preferred alignment request. More...
 
std::optional< uint64_t > mlir::detail::getDefaultIndexBitwidth (Type type, const DataLayout &dataLayout, ArrayRef< DataLayoutEntryInterface > params)
 Default handler for the index bitwidth request. More...
 
Attribute mlir::detail::getDefaultEndianness (DataLayoutEntryInterface entry)
 Default handler for endianness request. More...
 
Attribute mlir::detail::getDefaultAllocaMemorySpace (DataLayoutEntryInterface entry)
 Default handler for alloca memory space request. More...
 
Attribute mlir::detail::getDefaultProgramMemorySpace (DataLayoutEntryInterface entry)
 Default handler for program memory space request. More...
 
Attribute mlir::detail::getDefaultGlobalMemorySpace (DataLayoutEntryInterface entry)
 Default handler for global memory space request. More...
 
uint64_t 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...
 
llvm::TypeSize mlir::detail::divideCeil (llvm::TypeSize numerator, uint64_t denominator)
 Divides the known min value of the numerator by the denominator and rounds the result up to the next integer. More...