MLIR  16.0.0git
Classes | Namespaces | Macros | Enumerations | Functions
LLVMTypes.h File Reference
#include "mlir/IR/SubElementInterfaces.h"
#include "mlir/IR/Types.h"
#include "mlir/Interfaces/DataLayoutInterfaces.h"
#include "mlir/Dialect/LLVMIR/LLVMTypeInterfaces.h.inc"
+ Include dependency graph for LLVMTypes.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  mlir::LLVM::LLVMArrayType
 LLVM dialect array type. More...
 
class  mlir::LLVM::LLVMFunctionType
 LLVM dialect function type. More...
 
class  mlir::LLVM::LLVMPointerType
 LLVM dialect pointer type. More...
 
class  mlir::LLVM::LLVMStructType
 LLVM dialect structure type representing a collection of different-typed elements manipulated together. More...
 
class  mlir::LLVM::LLVMFixedVectorType
 LLVM dialect fixed vector type, represents a sequence of elements of known length that can be processed as one. More...
 
class  mlir::LLVM::LLVMScalableVectorType
 LLVM dialect scalable vector type, represents a sequence of elements of unknown length that is known to be divisible by some constant. More...
 

Namespaces

 llvm
 The OpAsmOpInterface, see OpAsmInterface.td for more details.
 
 mlir
 Include the generated interface declarations.
 
 mlir::LLVM
 
 mlir::LLVM::detail
 

Macros

#define DEFINE_TRIVIAL_LLVM_TYPE(ClassName)
 

Enumerations

enum  mlir::LLVM::PtrDLEntryPos { mlir::LLVM::PtrDLEntryPos::Size = 0, mlir::LLVM::PtrDLEntryPos::Abi = 1, mlir::LLVM::PtrDLEntryPos::Preferred = 2, mlir::LLVM::PtrDLEntryPos::Index = 3 }
 The positions of different values in the data layout entry for pointers. More...
 

Functions

 mlir::LLVM::DEFINE_TRIVIAL_LLVM_TYPE (LLVMVoidType)
 
 mlir::LLVM::DEFINE_TRIVIAL_LLVM_TYPE (LLVMPPCFP128Type)
 
 mlir::LLVM::DEFINE_TRIVIAL_LLVM_TYPE (LLVMX86MMXType)
 
 mlir::LLVM::DEFINE_TRIVIAL_LLVM_TYPE (LLVMTokenType)
 
 mlir::LLVM::DEFINE_TRIVIAL_LLVM_TYPE (LLVMLabelType)
 
 mlir::LLVM::DEFINE_TRIVIAL_LLVM_TYPE (LLVMMetadataType)
 
Type mlir::LLVM::detail::parseType (DialectAsmParser &parser)
 Parses an LLVM dialect type. More...
 
void mlir::LLVM::detail::printType (Type type, AsmPrinter &printer)
 Prints an LLVM Dialect type. More...
 
bool mlir::LLVM::isCompatibleType (Type type)
 Returns true if the given type is compatible with the LLVM dialect. More...
 
bool mlir::LLVM::isCompatibleOuterType (Type type)
 Returns true if the given outer type is compatible with the LLVM dialect without checking its potential nested types such as struct elements. More...
 
bool mlir::LLVM::isCompatibleFloatingPointType (Type type)
 Returns true if the given type is a floating-point type compatible with the LLVM dialect. More...
 
bool mlir::LLVM::isCompatibleVectorType (Type type)
 Returns true if the given type is a vector type compatible with the LLVM dialect. More...
 
Type mlir::LLVM::getVectorElementType (Type type)
 Returns the element type of any vector type compatible with the LLVM dialect. More...
 
llvm::ElementCount mlir::LLVM::getVectorNumElements (Type type)
 Returns the element count of any LLVM-compatible vector type. More...
 
bool mlir::LLVM::isScalableVectorType (Type vectorType)
 Returns whether a vector type is scalable or not. More...
 
Type mlir::LLVM::getVectorType (Type elementType, unsigned numElements, bool isScalable=false)
 Creates an LLVM dialect-compatible vector type with the given element type and length. More...
 
Type mlir::LLVM::getFixedVectorType (Type elementType, unsigned numElements)
 Creates an LLVM dialect-compatible type with the given element type and length. More...
 
Type mlir::LLVM::getScalableVectorType (Type elementType, unsigned numElements)
 Creates an LLVM dialect-compatible type with the given element type and length. More...
 
llvm::TypeSize mlir::LLVM::getPrimitiveTypeSizeInBits (Type type)
 Returns the size of the given primitive LLVM dialect-compatible type (including vectors) in bits, for example, the size of i16 is 16 and the size of vector<4xi16> is 64. More...
 
Optional< unsignedmlir::LLVM::extractPointerSpecValue (Attribute attr, PtrDLEntryPos pos)
 Returns the value that corresponds to named position pos from the data layout entry attr assuming it's a dense integer elements attribute. More...
 

Macro Definition Documentation

◆ DEFINE_TRIVIAL_LLVM_TYPE

#define DEFINE_TRIVIAL_LLVM_TYPE (   ClassName)
Value:
class ClassName : public Type::TypeBase<ClassName, Type, TypeStorage> { \
public: \
using Base::Base; \
}

Definition at line 53 of file LLVMTypes.h.