* Split memref.dim into two operations: memref.dim and tensor.dim. Both ops have the same builder interface and op argument names, so that they can be used with templates in patterns that apply to both tensors and memrefs (e.g., some patterns in Linalg). * Add constant materializer to TensorDialect (needed for folding in affine.apply etc.). * Remove some MemRefDialect dependencies, make some explicit. Differential Revision: https://reviews.llvm.org/D105165
30 lines
795 B
C++
30 lines
795 B
C++
//===- PassDetail.h - GPU Pass class details --------------------*- 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
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef DIALECT_TENSOR_TRANSFORMS_PASSDETAIL_H_
|
|
#define DIALECT_TENSOR_TRANSFORMS_PASSDETAIL_H_
|
|
|
|
#include "mlir/Pass/Pass.h"
|
|
|
|
namespace mlir {
|
|
|
|
namespace memref {
|
|
class MemRefDialect;
|
|
} // end namespace memref
|
|
|
|
namespace scf {
|
|
class SCFDialect;
|
|
} // end namespace scf
|
|
|
|
#define GEN_PASS_CLASSES
|
|
#include "mlir/Dialect/Tensor/Transforms/Passes.h.inc"
|
|
|
|
} // end namespace mlir
|
|
|
|
#endif // DIALECT_TENSOR_TRANSFORMS_PASSDETAIL_H_
|