MLIR 23.0.0git
mlir::ValueRange Class Referencefinal

This class provides an abstraction over the different types of ranges over Values. More...

#include "mlir/IR/ValueRange.h"

Inheritance diagram for mlir::ValueRange:

Public Types

using OwnerT
 The type representing the owner of a ValueRange.
using type_iterator = ValueTypeIterator<iterator>
 Returns the types of the values within this range.
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 LLVM_LIFETIME_BOUND)
 ValueRange (const Value &value LLVM_LIFETIME_BOUND)
 ValueRange (const std::initializer_list< Value > &values LLVM_LIFETIME_BOUND)
 ValueRange (iterator_range< OperandRange::iterator > values)
 ValueRange (iterator_range< ResultRange::iterator > values)
 ValueRange (ArrayRef< BlockArgument > values)
 ValueRange (ArrayRef< Value > values={})
 ValueRange (OperandRange values)
 ValueRange (ResultRange values)
 ValueRange (const Repeated< Value > &repeatedValue LLVM_LIFETIME_BOUND)
 Constructs a range from a repeated value.
type_range getTypes () const
type_range getType () const

Detailed Description

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/stdvector. 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 384 of file ValueRange.h.

Member Typedef Documentation

◆ OwnerT

Initial value:
This class represents an operand of an operation.
Definition Value.h:254
This class represents an instance of an SSA value in the MLIR system, representing a computable value...
Definition Value.h:96
This class provides the implementation for an operation result.
Definition Value.h:355

The type representing the owner of a ValueRange.

This is either a list of values, operands, results, or a repeated single value.

Definition at line 393 of file ValueRange.h.

◆ type_iterator

Returns the types of the values within this range.

Definition at line 423 of file ValueRange.h.

◆ type_range

Constructor & Destructor Documentation

◆ ValueRange() [1/10]

template<typename Arg, typename = std::enable_if_t< std::is_constructible<ArrayRef<Value>, Arg>::value && !std::is_convertible<Arg, Value>::value>>
mlir::ValueRange::ValueRange ( Arg &&arg LLVM_LIFETIME_BOUND)
inline

Definition at line 402 of file ValueRange.h.

References ValueRange().

Referenced by ValueRange(), ValueRange(), ValueRange(), ValueRange(), ValueRange(), and ValueRange().

◆ ValueRange() [2/10]

mlir::ValueRange::ValueRange ( const Value &value LLVM_LIFETIME_BOUND)
inline

Definition at line 404 of file ValueRange.h.

References ValueRange().

◆ ValueRange() [3/10]

mlir::ValueRange::ValueRange ( const std::initializer_list< Value > &values LLVM_LIFETIME_BOUND)
inline

Definition at line 406 of file ValueRange.h.

References ValueRange().

◆ ValueRange() [4/10]

mlir::ValueRange::ValueRange ( iterator_range< OperandRange::iterator > values)
inline

Definition at line 408 of file ValueRange.h.

References ValueRange().

◆ ValueRange() [5/10]

mlir::ValueRange::ValueRange ( iterator_range< ResultRange::iterator > values)
inline

Definition at line 410 of file ValueRange.h.

References ValueRange().

◆ ValueRange() [6/10]

mlir::ValueRange::ValueRange ( ArrayRef< BlockArgument > values)
inline

Definition at line 412 of file ValueRange.h.

References ValueRange().

◆ ValueRange() [7/10]

mlir::ValueRange::ValueRange ( ArrayRef< Value > values = {})

◆ ValueRange() [8/10]

mlir::ValueRange::ValueRange ( OperandRange values)

◆ ValueRange() [9/10]

mlir::ValueRange::ValueRange ( ResultRange values)

◆ ValueRange() [10/10]

mlir::ValueRange::ValueRange ( const Repeated< Value > &repeatedValue LLVM_LIFETIME_BOUND)
inline

Constructs a range from a repeated value.

The Repeated object must outlive this range.

Definition at line 419 of file ValueRange.h.

Member Function Documentation

◆ getType()

◆ getTypes()


The documentation for this class was generated from the following file: