MLIR
20.0.0git
|
This class provides an abstraction over the different types of ranges over Values. More...
#include "mlir/IR/ValueRange.h"
Public Types | |
using | OwnerT = PointerUnion< const Value *, OpOperand *, detail::OpResultImpl * > |
The type representing the owner of a ValueRange. More... | |
using | type_iterator = ValueTypeIterator< iterator > |
Returns the types of the values within this range. More... | |
using | type_range = ValueTypeRange< ValueRange > |
Public Member Functions | |
template<typename Arg , typename = std::enable_if_t< std::is_constructible<ArrayRef<Value>, Arg>::value && !std::is_convertible<Arg, Value>::value>> | |
ValueRange (Arg &&arg) | |
ValueRange (const Value &value) | |
ValueRange (const std::initializer_list< Value > &values) | |
ValueRange (iterator_range< OperandRange::iterator > values) | |
ValueRange (iterator_range< ResultRange::iterator > values) | |
ValueRange (ArrayRef< BlockArgument > values) | |
ValueRange (ArrayRef< Value > values=std::nullopt) | |
ValueRange (OperandRange values) | |
ValueRange (ResultRange values) | |
type_range | getTypes () const |
type_range | getType () const |
This class provides an abstraction over the different types of ranges over Values.
In many cases, this prevents the need to explicitly materialize a SmallVector/std::vector. This class should be used in places that are not suitable for a more derived type (e.g. ArrayRef) or a template range parameter.
Definition at line 377 of file ValueRange.h.
using mlir::ValueRange::OwnerT = PointerUnion<const Value *, OpOperand *, detail::OpResultImpl *> |
The type representing the owner of a ValueRange.
This is either a list of values, operands, or results.
Definition at line 385 of file ValueRange.h.
using mlir::ValueRange::type_iterator = ValueTypeIterator<iterator> |
Returns the types of the values within this range.
Definition at line 409 of file ValueRange.h.
Definition at line 410 of file ValueRange.h.
|
inline |
Definition at line 394 of file ValueRange.h.
|
inline |
Definition at line 395 of file ValueRange.h.
|
inline |
Definition at line 396 of file ValueRange.h.
|
inline |
Definition at line 398 of file ValueRange.h.
|
inline |
Definition at line 400 of file ValueRange.h.
|
inline |
Definition at line 402 of file ValueRange.h.
mlir::ValueRange::ValueRange | ( | OperandRange | values | ) |
mlir::ValueRange::ValueRange | ( | ResultRange | values | ) |
type_range mlir::ValueRange::getType | ( | ) | const |
Referenced by mlir::allOperandsHaveSameCoopMatrixType(), mlir::detail::ConversionPatternRewriterImpl::buildUnresolvedMaterialization(), computeTargetShape(), mlir::detail::ConversionPatternRewriterImpl::insertNTo1Materialization(), printAlignedClause(), sourceMaterializationCallback(), and mlir::LLVM::detail::vectorOneToOneRewrite().
type_range mlir::ValueRange::getTypes | ( | ) | const |
Referenced by mlir::affine::affineParallelize(), mlir::applyPartialOneToNConversion(), buildUnrealizedBackwardsCasts(), mlir::ControlFlowToSCFTransformation::createStructuredDoWhileLoopOp(), mlir::sparse_tensor::SparseIterator::forwardIf(), mlir::sparse_tensor::FuncCallOrInlineGenerator< SubClass >::genCallOrInline(), genCoIterateBranchNest(), mlir::sparse_tensor::genCoIteration(), genLoopWithIterator(), genWhenInBound(), mlir::sparse_tensor::getFunc(), getLLVMFuncType(), getMangledSortHelperFunc(), getNumNonRangeValues(), mlir::linalg::pack(), mlir::spirv::printAccessChain(), printCommonStructuredOpParts(), mlir::linalg::rewriteAsPaddedOp(), mlir::linalg::splitReductionByScaling(), transposeOneLinalgOperandAndReplace(), and mlir::LLVM::detail::vectorOneToOneRewrite().