17#include "mlir/IR/Operation.h"
18#include "mlir/Target/LLVMIR/ModuleTranslation.h"
20#include "llvm/IR/IRBuilder.h"
21#include "llvm/IR/IntrinsicsAArch64.h"
30class XLLVMDialectLLVMIRTranslationInterface
31 :
public LLVMTranslationDialectInterface {
33 using LLVMTranslationDialectInterface::LLVMTranslationDialectInterface;
38 convertOperation(Operation *op, llvm::IRBuilderBase &builder,
39 LLVM::ModuleTranslation &moduleTranslation)
const final {
40 Operation &opInst = *op;
41#include "aie/Dialect/XLLVM/IR/XLLVMConversions.inc"
49 registry.insert<xllvm::XLLVMDialect>();
50 registry.addExtension(+[](MLIRContext *ctx, xllvm::XLLVMDialect *dialect) {
51 dialect->addInterfaces<XLLVMDialectLLVMIRTranslationInterface>();
56 DialectRegistry registry;
58 context.appendDialectRegistry(registry);
void registerXLLVMDialectTranslation(mlir::DialectRegistry ®istry)
Register the AIEVec dialect and the translation from it to the LLVM dialect in the given registry.