14#include "mlir/IR/Operation.h"
15#include "mlir/Target/LLVMIR/ModuleTranslation.h"
17#include "llvm/IR/IRBuilder.h"
18#include "llvm/IR/IntrinsicsAArch64.h"
27class XLLVMDialectLLVMIRTranslationInterface
28 :
public LLVMTranslationDialectInterface {
30 using LLVMTranslationDialectInterface::LLVMTranslationDialectInterface;
35 convertOperation(Operation *op, llvm::IRBuilderBase &builder,
36 LLVM::ModuleTranslation &moduleTranslation)
const final {
37 Operation &opInst = *op;
38#include "aie/Dialect/XLLVM/IR/XLLVMConversions.inc"
46 registry.insert<xllvm::XLLVMDialect>();
47 registry.addExtension(+[](MLIRContext *ctx, xllvm::XLLVMDialect *dialect) {
48 dialect->addInterfaces<XLLVMDialectLLVMIRTranslationInterface>();
53 DialectRegistry registry;
55 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.