//===- BufferViewFlowAnalysis.h - Buffer dependency analysis ---*- 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 MLIR_DIALECT_BUFFERIZATION_TRANSFORMS_BUFFERVIEWFLOWANALYSIS_H #define MLIR_DIALECT_BUFFERIZATION_TRANSFORMS_BUFFERVIEWFLOWANALYSIS_H #include "mlir/IR/Operation.h" #include "llvm/ADT/SmallPtrSet.h" namespace mlir { /// A straight-forward alias analysis which ensures that all dependencies of all /// values will be determined. This is a requirement for the BufferPlacement /// class since you need to determine safe positions to place alloc and /// deallocs. This alias analysis only finds aliases that might have been /// created on top of the specified view. To find all aliases, resolve the /// intial alloc/argument value. class BufferViewFlowAnalysis { … }; /// An is-same-buffer analysis that checks if two SSA values belong to the same /// buffer allocation or not. class BufferOriginAnalysis { … }; } // namespace mlir #endif // MLIR_DIALECT_BUFFERIZATION_TRANSFORMS_BUFFERVIEWFLOWANALYSIS_H