MLIR  15.0.0git
Classes | Namespaces | Macros | Functions
LLVMTypes.h File Reference
#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
 Explicitly register a set of "builtin" types.
 
 mlir
 Include the generated interface declarations.
 
 mlir::LLVM
 
 mlir::LLVM::detail
 

Macros

#define DEFINE_TRIVIAL_LLVM_TYPE(ClassName)
 

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...
 

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 52 of file LLVMTypes.h.