MLIR  18.0.0git
Classes | Namespaces | Typedefs | Functions
AnalysisManager.h File Reference
#include "mlir/IR/Operation.h"
#include "mlir/Pass/PassInstrumentation.h"
#include "mlir/Support/LLVM.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/Support/TypeName.h"
#include <optional>

Go to the source code of this file.


class  mlir::detail::PreservedAnalyses
 A utility class to represent the analyses that are known to be preserved. More...
struct  mlir::detail::AnalysisConcept
 The abstract polymorphic base class representing an analysis. More...
struct  mlir::detail::AnalysisModel< AnalysisT >
 A derived analysis model used to hold a specific analysis object. More...
class  mlir::detail::AnalysisMap
 This class represents a cache of analyses for a single operation. More...
struct  mlir::detail::NestedAnalysisMap
 An analysis map that contains a map for the current operation, and a set of maps for any child operations. More...
class  mlir::AnalysisManager
 This class represents an analysis manager for a particular operation instance. More...
class  mlir::ModuleAnalysisManager
 An analysis manager class specifically for the top-level operation. More...


 Include the generated interface declarations.
 Detect if any of the given parameter types has a sub-element handler.


template<typename T , typename... Args>
using mlir::detail::analysis_impl::has_is_invalidated = decltype(std::declval< T & >().isInvalidated(std::declval< const PreservedAnalyses & >()))
 Trait to check if T provides a static 'isInvalidated' method. More...


template<typename AnalysisT >
std::enable_if_t< llvm::is_detected< has_is_invalidated, AnalysisT >::value, bool > mlir::detail::analysis_impl::isInvalidated (AnalysisT &analysis, const PreservedAnalyses &pa)
 Implementation of 'isInvalidated' if the analysis provides a definition. More...
template<typename AnalysisT >
std::enable_if_t<!llvm::is_detected< has_is_invalidated, AnalysisT >::value, bool > mlir::detail::analysis_impl::isInvalidated (AnalysisT &analysis, const PreservedAnalyses &pa)
 Default implementation of 'isInvalidated'. More...