//===- BuiltinAttributeInterfaces.cpp -------------------------------------===// // // 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 // //===----------------------------------------------------------------------===// #include "mlir/IR/BuiltinAttributeInterfaces.h" #include "mlir/IR/BuiltinTypes.h" #include "mlir/IR/Diagnostics.h" #include "llvm/ADT/Sequence.h" usingnamespacemlir; usingnamespacemlir::detail; //===----------------------------------------------------------------------===// /// Tablegen Interface Definitions //===----------------------------------------------------------------------===// #include "mlir/IR/BuiltinAttributeInterfaces.cpp.inc" //===----------------------------------------------------------------------===// // ElementsAttr //===----------------------------------------------------------------------===// Type ElementsAttr::getElementType(ElementsAttr elementsAttr) { … } int64_t ElementsAttr::getNumElements(ElementsAttr elementsAttr) { … } bool ElementsAttr::isValidIndex(ShapedType type, ArrayRef<uint64_t> index) { … } bool ElementsAttr::isValidIndex(ElementsAttr elementsAttr, ArrayRef<uint64_t> index) { … } uint64_t ElementsAttr::getFlattenedIndex(Type type, ArrayRef<uint64_t> index) { … } //===----------------------------------------------------------------------===// // MemRefLayoutAttrInterface //===----------------------------------------------------------------------===// LogicalResult mlir::detail::verifyAffineMapAsLayout( AffineMap m, ArrayRef<int64_t> shape, function_ref<InFlightDiagnostic()> emitError) { … }