MLIR  19.0.0git
Typedefs | Functions
mlir::detail::analysis_impl Namespace Reference

Typedefs

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

Functions

template<typename AnalysisT >
std::enable_if_t< llvm::is_detected< has_is_invalidated, AnalysisT >::value, bool > 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 > isInvalidated (AnalysisT &analysis, const PreservedAnalyses &pa)
 Default implementation of 'isInvalidated'. More...
 

Typedef Documentation

◆ has_is_invalidated

template<typename T , typename... Args>
using mlir::detail::analysis_impl::has_is_invalidated = typedef decltype(std::declval<T &>().isInvalidated( std::declval<const PreservedAnalyses &>()))

Trait to check if T provides a static 'isInvalidated' method.

Definition at line 85 of file AnalysisManager.h.

Function Documentation

◆ isInvalidated() [1/2]

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.

Definition at line 91 of file AnalysisManager.h.

Referenced by mlir::detail::AnalysisModel< AnalysisT >::invalidate().

◆ isInvalidated() [2/2]

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'.

Definition at line 97 of file AnalysisManager.h.

References mlir::detail::PreservedAnalyses::isPreserved().