MLIR
20.0.0git
lib
Conversion
TensorToLinalg
TensorToLinalg.cpp
Go to the documentation of this file.
1
//===- TensorToLinalg.cpp - Tensor to Linalg Patterns ---------------------===//
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-exception
6
//
7
//===----------------------------------------------------------------------===//
8
//
9
// This file implements patterns to convert Tensor dialect to Linalg dialect.
10
//
11
//===----------------------------------------------------------------------===//
12
13
#include "
mlir/Conversion/TensorToLinalg/TensorToLinalg.h
"
14
#include "
mlir/Dialect/Linalg/Transforms/Transforms.h
"
15
#include "
mlir/Dialect/Tensor/IR/Tensor.h
"
16
#include "
mlir/IR/AffineMap.h
"
17
#include "llvm/Support/Debug.h"
18
19
#define DEBUG_TYPE "tensor-to-linalg-pattern"
20
21
using namespace
mlir
;
22
23
//===----------------------------------------------------------------------===//
24
// Pattern population
25
//===----------------------------------------------------------------------===//
26
27
void
mlir::populateTensorToLinalgPatterns
(
RewritePatternSet
&
patterns
) {
28
// TODO: Add the remaining patterns, e.g. to decompose Pack/Unpack Ops.
29
// Alternatively, delete this file.
30
patterns
.add<
mlir::linalg::DecomposePadOpPattern
>(
patterns
.getContext());
31
}
TensorToLinalg.h
mlir::RewritePatternSet
Definition:
PatternMatch.h:814
Transforms.h
Tensor.h
AffineMap.h
mlir
Include the generated interface declarations.
Definition:
LocalAliasAnalysis.h:20
mlir::populateTensorToLinalgPatterns
void populateTensorToLinalgPatterns(RewritePatternSet &patterns)
Appends to a pattern list additional patterns for translating tensor ops to Linalg ops.
Definition:
TensorToLinalg.cpp:27
mlir::patterns
const FrozenRewritePatternSet & patterns
Definition:
GreedyPatternRewriteDriver.h:233
mlir::linalg::DecomposePadOpPattern
Rewrite a tensor::PadOp into a sequence of EmptyOp, FillOp and InsertSliceOp.
Definition:
Transforms.h:1508
Generated on Sat Dec 21 2024 16:31:40 for MLIR by
1.9.1