brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.3 KiB · 95db208 Raw
65 lines · cpp
1//===- X86VectorTransformOps.cpp ------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#include "mlir/Dialect/X86Vector/TransformOps/X86VectorTransformOps.h"10#include "mlir/Conversion/LLVMCommon/TypeConverter.h"11#include "mlir/Dialect/LLVMIR/LLVMDialect.h"12#include "mlir/Dialect/Transform/IR/TransformDialect.h"13#include "mlir/Dialect/Transform/Interfaces/TransformInterfaces.h"14#include "mlir/Dialect/Vector/IR/VectorOps.h"15#include "mlir/Dialect/X86Vector/Transforms.h"16#include "mlir/Dialect/X86Vector/X86VectorDialect.h"17 18#include "mlir/IR/OpImplementation.h"19#include "mlir/IR/RegionKindInterface.h"20 21using namespace mlir;22using namespace mlir::x86vector;23using namespace mlir::transform;24 25void mlir::transform::ApplyVectorContractToFMAPatternsOp::populatePatterns(26    RewritePatternSet &patterns) {27  x86vector::populateVectorContractToFMAPatterns(patterns);28}29 30void mlir::transform::ApplyVectorContractToPackedTypeDotProductPatternsOp::31    populatePatterns(RewritePatternSet &patterns) {32  x86vector::populateVectorContractToPackedTypeDotProductPatterns(patterns);33}34 35//===----------------------------------------------------------------------===//36// Transform op registration37//===----------------------------------------------------------------------===//38 39namespace {40class X86VectorTransformDialectExtension41    : public transform::TransformDialectExtension<42          X86VectorTransformDialectExtension> {43public:44  MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(45      X86VectorTransformDialectExtension)46 47  X86VectorTransformDialectExtension() {48    declareGeneratedDialect<x86vector::X86VectorDialect>();49    declareGeneratedDialect<LLVM::LLVMDialect>();50    registerTransformOps<51#define GET_OP_LIST52#include "mlir/Dialect/X86Vector/TransformOps/X86VectorTransformOps.cpp.inc"53        >();54  }55};56} // namespace57 58#define GET_OP_CLASSES59#include "mlir/Dialect/X86Vector/TransformOps/X86VectorTransformOps.cpp.inc"60 61void mlir::x86vector::registerTransformDialectExtension(62    DialectRegistry &registry) {63  registry.addExtensions<X86VectorTransformDialectExtension>();64}65