My Project
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< 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<!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.

Function Documentation

◆ isInvalidated() [1/2]

template<typename AnalysisT >
std::enable_if_t<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.

◆ isInvalidated() [2/2]

template<typename AnalysisT >
std::enable_if_t<!is_detected<has_is_invalidated, AnalysisT>::value, bool> mlir::detail::analysis_impl::isInvalidated ( AnalysisT &  analysis,
const PreservedAnalyses pa 
)

Default implementation of 'isInvalidated'.