20 return wrap(LLVMPointerType::get(
unwrap(pointee), addressSpace));
28 return wrap(LLVMArrayType::get(
unwrap(elementType), numElements));
32 MlirType
const *argumentTypes,
bool isVarArg) {
34 return wrap(LLVMFunctionType::get(
36 unwrapList(nArgumentTypes, argumentTypes, argumentStorage), isVarArg));
40 MlirType
const *fieldTypes,
MlirType mlirLLVMFunctionTypeGet(MlirType resultType, intptr_t nArgumentTypes, MlirType const *argumentTypes, bool isVarArg)
Creates an llvm.func type.
MlirType mlirLLVMVoidTypeGet(MlirContext ctx)
Creates an llmv.void type.
MlirType mlirLLVMArrayTypeGet(MlirType elementType, unsigned numElements)
Creates an llvm.array type.
MlirType mlirLLVMPointerTypeGet(MlirType pointee, unsigned addressSpace)
Creates an llvm.ptr type.
MlirType mlirLLVMStructTypeLiteralGet(MlirContext ctx, intptr_t nFieldTypes, MlirType const *fieldTypes, bool isPacked)
Creates an LLVM literal (unnamed) struct type.
#define MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(Name, Namespace, ClassName)
static llvm::ArrayRef< CppTy > unwrapList(size_t size, CTy *first, llvm::SmallVectorImpl< CppTy > &storage)
static LLVMStructType getLiteral(MLIRContext *context, ArrayRef< Type > types, bool isPacked=false)
Gets or creates a literal struct with the given body in the provided context.
mlir::Diagnostic & unwrap(MlirDiagnostic diagnostic)
MlirDiagnostic wrap(mlir::Diagnostic &diagnostic)
Include the generated interface declarations.
This header declares functions that assit transformations in the MemRef dialect.