MLIR
20.0.0git
|
Typedefs | |
template<typename T , typename... Args> | |
using | has_single_result_fold_trait = decltype(T::foldTrait(std::declval< Operation * >(), std::declval< ArrayRef< Attribute > >())) |
Trait to check if T provides a 'foldTrait' method for single result operations. More... | |
template<typename T > | |
using | detect_has_single_result_fold_trait = llvm::is_detected< has_single_result_fold_trait, T > |
template<typename T , typename... Args> | |
using | has_fold_trait = decltype(T::foldTrait(std::declval< Operation * >(), std::declval< ArrayRef< Attribute > >(), std::declval< SmallVectorImpl< OpFoldResult > & >())) |
Trait to check if T provides a general 'foldTrait' method. More... | |
template<typename T > | |
using | detect_has_fold_trait = llvm::is_detected< has_fold_trait, T > |
template<typename T > | |
using | detect_has_any_fold_trait = std::disjunction< detect_has_fold_trait< T >, detect_has_single_result_fold_trait< T > > |
Trait to check if T provides any foldTrait method. More... | |
template<typename T , typename... Args> | |
using | has_verify_trait = decltype(T::verifyTrait(std::declval< Operation * >())) |
Trait to check if T provides a verifyTrait method. More... | |
template<typename T > | |
using | detect_has_verify_trait = llvm::is_detected< has_verify_trait, T > |
template<typename T , typename... Args> | |
using | has_verify_region_trait = decltype(T::verifyRegionTrait(std::declval< Operation * >())) |
Trait to check if T provides a verifyTrait method. More... | |
template<typename T > | |
using | detect_has_verify_region_trait = llvm::is_detected< has_verify_region_trait, T > |
Functions | |
template<template< typename T > class... Traits> | |
bool | hasTrait (TypeID traitID) |
Returns true if this given Trait ID matches the IDs of any of the provided trait types Traits . More... | |
template<> | |
bool | hasTrait (TypeID traitID) |
template<typename Trait > | |
static std::enable_if_t< detect_has_single_result_fold_trait< Trait >::value, LogicalResult > | foldTrait (Operation *op, ArrayRef< Attribute > operands, SmallVectorImpl< OpFoldResult > &results) |
Returns the result of folding a trait that implements a foldTrait function that is specialized for operations that have a single result. More... | |
template<typename Trait > | |
static std::enable_if_t< detect_has_fold_trait< Trait >::value, LogicalResult > | foldTrait (Operation *op, ArrayRef< Attribute > operands, SmallVectorImpl< OpFoldResult > &results) |
Returns the result of folding a trait that implements a generalized foldTrait function that is supports any operation type. More... | |
template<typename Trait > | |
static std::enable_if_t<!detect_has_any_fold_trait< Trait >::value, LogicalResult > | foldTrait (Operation *, ArrayRef< Attribute >, SmallVectorImpl< OpFoldResult > &) |
template<typename... Ts> | |
static LogicalResult | foldTraits (Operation *op, ArrayRef< Attribute > operands, SmallVectorImpl< OpFoldResult > &results) |
Given a tuple type containing a set of traits, return the result of folding the given operation. More... | |
template<typename T > | |
std::enable_if_t< detect_has_verify_trait< T >::value, LogicalResult > | verifyTrait (Operation *op) |
Verify the given trait if it provides a verifier. More... | |
template<typename T > | |
std::enable_if_t<!detect_has_verify_trait< T >::value, LogicalResult > | verifyTrait (Operation *) |
template<typename... Ts> | |
LogicalResult | verifyTraits (Operation *op) |
Given a set of traits, return the result of verifying the given operation. More... | |
template<typename T > | |
std::enable_if_t< detect_has_verify_region_trait< T >::value, LogicalResult > | verifyRegionTrait (Operation *op) |
Verify the given trait if it provides a region verifier. More... | |
template<typename T > | |
std::enable_if_t<!detect_has_verify_region_trait< T >::value, LogicalResult > | verifyRegionTrait (Operation *) |
template<typename... Ts> | |
LogicalResult | verifyRegionTraits (Operation *op) |
Given a set of traits, return the result of verifying the regions of the given operation. More... | |
using mlir::op_definition_impl::detect_has_any_fold_trait = typedef std::disjunction<detect_has_fold_trait<T>, detect_has_single_result_fold_trait<T> > |
Trait to check if T provides any foldTrait
method.
Definition at line 1550 of file OpDefinition.h.
using mlir::op_definition_impl::detect_has_fold_trait = typedef llvm::is_detected<has_fold_trait, T> |
Definition at line 1547 of file OpDefinition.h.
using mlir::op_definition_impl::detect_has_single_result_fold_trait = typedef llvm::is_detected<has_single_result_fold_trait, T> |
Definition at line 1538 of file OpDefinition.h.
using mlir::op_definition_impl::detect_has_verify_region_trait = typedef llvm::is_detected<has_verify_region_trait, T> |
Definition at line 1615 of file OpDefinition.h.
using mlir::op_definition_impl::detect_has_verify_trait = typedef llvm::is_detected<has_verify_trait, T> |
Definition at line 1608 of file OpDefinition.h.
using mlir::op_definition_impl::has_fold_trait = typedef decltype(T::foldTrait(std::declval<Operation *>(), std::declval<ArrayRef<Attribute> >(), std::declval<SmallVectorImpl<OpFoldResult> &>())) |
Trait to check if T provides a general 'foldTrait' method.
Definition at line 1542 of file OpDefinition.h.
using mlir::op_definition_impl::has_single_result_fold_trait = typedef decltype(T::foldTrait( std::declval<Operation *>(), std::declval<ArrayRef<Attribute> >())) |
Trait to check if T provides a 'foldTrait' method for single result operations.
Definition at line 1535 of file OpDefinition.h.
using mlir::op_definition_impl::has_verify_region_trait = typedef decltype(T::verifyRegionTrait(std::declval<Operation *>())) |
Trait to check if T provides a verifyTrait
method.
Definition at line 1612 of file OpDefinition.h.
using mlir::op_definition_impl::has_verify_trait = typedef decltype(T::verifyTrait(std::declval<Operation *>())) |
Trait to check if T provides a verifyTrait
method.
Definition at line 1606 of file OpDefinition.h.
|
inlinestatic |
Definition at line 1589 of file OpDefinition.h.
Referenced by foldTrait().
|
static |
Returns the result of folding a trait that implements a foldTrait
function that is specialized for operations that have a single result.
Definition at line 1559 of file OpDefinition.h.
References foldTrait(), mlir::Operation::getResult(), and mlir::Operation::hasTrait().
|
static |
Returns the result of folding a trait that implements a generalized foldTrait
function that is supports any operation type.
Definition at line 1580 of file OpDefinition.h.
References foldTrait().
|
static |
Given a tuple type containing a set of traits, return the result of folding the given operation.
Definition at line 1596 of file OpDefinition.h.
|
inline |
Returns true if this given Trait ID matches the IDs of any of the provided trait types Traits
.
Definition at line 1517 of file OpDefinition.h.
Referenced by mlir::arith::AttrConverterConstrainedFPToLLVM< SourceOp, TargetOp >::AttrConverterConstrainedFPToLLVM().
|
inline |
Definition at line 1525 of file OpDefinition.h.
Referenced by mlir::OpTrait::IsIdempotent< ConcreteType >::verifyTrait().
|
inline |
Definition at line 1645 of file OpDefinition.h.
Referenced by verifyRegionTrait().
std::enable_if_t<detect_has_verify_region_trait<T>::value, LogicalResult> mlir::op_definition_impl::verifyRegionTrait | ( | Operation * | op | ) |
Verify the given trait if it provides a region verifier.
Definition at line 1639 of file OpDefinition.h.
References verifyRegionTrait().
LogicalResult mlir::op_definition_impl::verifyRegionTraits | ( | Operation * | op | ) |
Given a set of traits, return the result of verifying the regions of the given operation.
Definition at line 1652 of file OpDefinition.h.
|
inline |
Definition at line 1626 of file OpDefinition.h.
Referenced by verifyTrait().
std::enable_if_t<detect_has_verify_trait<T>::value, LogicalResult> mlir::op_definition_impl::verifyTrait | ( | Operation * | op | ) |
Verify the given trait if it provides a verifier.
Definition at line 1621 of file OpDefinition.h.
References verifyTrait().
LogicalResult mlir::op_definition_impl::verifyTraits | ( | Operation * | op | ) |
Given a set of traits, return the result of verifying the given operation.
Definition at line 1632 of file OpDefinition.h.