//===- TestAccessAnalysis.cpp - Test affine access analysis utility -------===// // // 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 // //===----------------------------------------------------------------------===// // // This file implements a pass to test affine access analysis utilities. // //===----------------------------------------------------------------------===// #include "mlir/Dialect/Affine/Analysis/LoopAnalysis.h" #include "mlir/Dialect/Affine/Analysis/Utils.h" #include "mlir/Dialect/Affine/LoopFusionUtils.h" #include "mlir/Dialect/Func/IR/FuncOps.h" #include "mlir/Pass/Pass.h" #define PASS_NAME … usingnamespacemlir; usingnamespacemlir::affine; namespace { struct TestAccessAnalysis : public PassWrapper<TestAccessAnalysis, OperationPass<func::FuncOp>> { … }; } // namespace /// Gathers all affine load/store ops in loop nest rooted at 'forOp' into /// 'loadAndStoreOps'. static void gatherLoadsAndStores(AffineForOp forOp, SmallVectorImpl<Operation *> &loadAndStoreOps) { … } void TestAccessAnalysis::runOnOperation() { … } namespace mlir { void registerTestAffineAccessAnalysisPass() { … } } // namespace mlir