MLIR
21.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 > | |
LogicalResult | verifyTrait (Operation *op) |
Verify the given trait if it provides a verifier. More... | |
template<typename... Ts> | |
LogicalResult | verifyTraits (Operation *op) |
Given a set of traits, return the result of verifying the given operation. More... | |
template<typename T > | |
LogicalResult | verifyRegionTrait (Operation *op) |
Verify the given trait if it provides a region verifier. More... | |
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 1563 of file OpDefinition.h.
using mlir::op_definition_impl::detect_has_fold_trait = typedef llvm::is_detected<has_fold_trait, T> |
Definition at line 1560 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 1551 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 1629 of file OpDefinition.h.
using mlir::op_definition_impl::detect_has_verify_trait = typedef llvm::is_detected<has_verify_trait, T> |
Definition at line 1622 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 1555 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 1548 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 1626 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 1620 of file OpDefinition.h.
|
inlinestatic |
Definition at line 1602 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 1572 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 1593 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 1609 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 1529 of file OpDefinition.h.
Referenced by mlir::arith::AttrConverterConstrainedFPToLLVM< SourceOp, TargetOp >::AttrConverterConstrainedFPToLLVM().
|
inline |
Definition at line 1537 of file OpDefinition.h.
Referenced by mlir::OpTrait::IsIdempotent< ConcreteType >::verifyTrait().
LogicalResult mlir::op_definition_impl::verifyRegionTrait | ( | Operation * | op | ) |
Verify the given trait if it provides a region verifier.
Definition at line 1649 of file OpDefinition.h.
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 1659 of file OpDefinition.h.
LogicalResult mlir::op_definition_impl::verifyTrait | ( | Operation * | op | ) |
Verify the given trait if it provides a verifier.
Definition at line 1634 of file OpDefinition.h.
LogicalResult mlir::op_definition_impl::verifyTraits | ( | Operation * | op | ) |
Given a set of traits, return the result of verifying the given operation.
Definition at line 1643 of file OpDefinition.h.