1 //===- VectorInterfaces.h - Vector interfaces -----------------------------===// 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 the operation interfaces for vector ops. 10 // 11 //===----------------------------------------------------------------------===// 12 13 #ifndef MLIR_INTERFACES_VECTORINTERFACES_H 14 #define MLIR_INTERFACES_VECTORINTERFACES_H 15 16 #include "mlir/IR/AffineMap.h" 17 #include "mlir/IR/BuiltinTypes.h" 18 #include "mlir/IR/OpDefinition.h" 19 20 namespace mlir { 21 namespace vector { 22 namespace detail { 23 24 /// Given the vector type and the permutation map of a vector transfer op, 25 /// compute the expected mask type. 26 VectorType transferMaskType(VectorType vecType, AffineMap map); 27 28 } // namespace detail 29 } // namespace vector 30 } // namespace mlir 31 32 /// Include the generated interface declarations. 33 #include "mlir/Interfaces/VectorInterfaces.h.inc" 34 35 #endif // MLIR_INTERFACES_VECTORINTERFACES_H 36