//===- LLVMTypes.h - MLIR LLVM dialect types --------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This file defines the types for the LLVM dialect in MLIR. These MLIR types // correspond to the LLVM IR type system. // //===----------------------------------------------------------------------===// #ifndef MLIR_DIALECT_LLVMIR_LLVMTYPES_H_ #define MLIR_DIALECT_LLVMIR_LLVMTYPES_H_ #include "mlir/IR/Types.h" #include "mlir/Interfaces/DataLayoutInterfaces.h" #include "mlir/Interfaces/MemorySlotInterfaces.h" #include <optional> namespace llvm { class ElementCount; class TypeSize; } // namespace llvm namespace mlir { class AsmParser; class AsmPrinter; namespace LLVM { class LLVMDialect; namespace detail { struct LLVMFunctionTypeStorage; struct LLVMPointerTypeStorage; struct LLVMStructTypeStorage; struct LLVMTypeAndSizeStorage; } // namespace detail } // namespace LLVM } // namespace mlir //===----------------------------------------------------------------------===// // ODS-Generated Declarations //===----------------------------------------------------------------------===// #include "mlir/Dialect/LLVMIR/LLVMTypeInterfaces.h.inc" #define GET_TYPEDEF_CLASSES #include "mlir/Dialect/LLVMIR/LLVMTypes.h.inc" namespace mlir { LLVM // namespace LLVM } // namespace mlir #endif // MLIR_DIALECT_LLVMIR_LLVMTYPES_H_