My Project
Public Member Functions | Static Public Member Functions | List of all members
mlir::BlockArgument Class Reference

Block arguments are values. More...

#include <Value.h>

Inheritance diagram for mlir::BlockArgument:
Inheritance graph
[legend]
Collaboration diagram for mlir::BlockArgument:
Collaboration graph
[legend]

Public Member Functions

BlockArgumentoperator-> ()
 
BlockgetOwner () const
 Returns the block that owns this argument. More...
 
Type getType () const
 Return the type of this value. More...
 
void setType (Type newType)
 Set the type of this value. More...
 
unsigned getArgNumber () const
 Returns the number of this argument. More...
 
- Public Member Functions inherited from mlir::Value
 Value (std::nullptr_t)
 
 Value (ImplType ownerAndKind={})
 
 Value (const Value &)=default
 
Valueoperator= (const Value &)=default
 
template<typename U >
bool isa () const
 
template<typename U >
dyn_cast () const
 
template<typename U >
dyn_cast_or_null () const
 
template<typename U >
cast () const
 
Value operator* () const
 
Valueoperator-> () const
 
 operator bool () const
 
bool operator== (const Value &other) const
 
bool operator!= (const Value &other) const
 
Type getType () const
 Return the type of this value. More...
 
MLIRContextgetContext () const
 Utility to get the associated MLIRContext that this value is defined in. More...
 
void setType (Type newType)
 Mutate the type of this Value to be of the specified type. More...
 
OperationgetDefiningOp () const
 
Location getLoc ()
 
RegiongetParentRegion ()
 Return the Region in which this Value is defined. More...
 
IRObjectWithUseList< OpOperand > * getUseList () const
 Provide the use list that is attached to this value. More...
 
void dropAllUses () const
 Drop all uses of this object from their respective owners. More...
 
void replaceAllUsesWith (Value newValue) const
 
use_iterator use_begin () const
 
use_iterator use_end () const
 
use_range getUses () const
 Returns a range of all uses, which is useful for iterating over all uses. More...
 
bool hasOneUse () const
 Returns true if this value has exactly one use. More...
 
bool use_empty () const
 Returns true if this value has no uses. More...
 
user_iterator user_begin () const
 
user_iterator user_end () const
 
user_range getUsers () const
 
Kind getKind () const
 Returns the kind of this value. More...
 
void print (raw_ostream &os)
 
void dump ()
 
void * getAsOpaquePointer () const
 Methods for supporting PointerLikeTypeTraits. More...
 

Static Public Member Functions

static bool classof (Value value)
 
- Static Public Member Functions inherited from mlir::Value
static Value getFromOpaquePointer (const void *pointer)
 

Additional Inherited Members

- Public Types inherited from mlir::Value
enum  Kind { Kind::OpResult0 = 0, Kind::OpResult1 = 1, Kind::TrailingOpResult = 2, Kind::BlockArgument = 3 }
 
using ImplType = llvm::PointerIntPair< void *, 2, Kind, ImplTypeTraits >
 
using use_iterator = FilteredValueUseIterator< OpOperand >
 This class implements an iterator over the uses of a value. More...
 
using use_range = iterator_range< use_iterator >
 
using user_iterator = ValueUserIterator< use_iterator, OpOperand >
 
using user_range = iterator_range< user_iterator >
 
- Protected Member Functions inherited from mlir::Value
 Value (detail::BlockArgumentImpl *impl)
 Construct a value. More...
 
 Value (Operation *op, unsigned resultNo)
 
- Static Protected Member Functions inherited from mlir::Value
static bool canPackResultInline (unsigned resultNo)
 Returns true if the given operation result can be packed inline. More...
 
- Protected Attributes inherited from mlir::Value
ImplType ownerAndKind
 

Detailed Description

Block arguments are values.

Member Function Documentation

◆ classof()

static bool mlir::BlockArgument::classof ( Value  value)
inlinestatic

◆ getArgNumber()

unsigned BlockArgument::getArgNumber ( ) const

Returns the number of this argument.

◆ getOwner()

Block* mlir::BlockArgument::getOwner ( ) const
inline

Returns the block that owns this argument.

◆ getType()

Type mlir::BlockArgument::getType ( ) const
inline

Return the type of this value.

◆ operator->()

BlockArgument* mlir::BlockArgument::operator-> ( )
inline

Temporary methods to enable transition of Value to being used as a value-type. TODO(riverriddle) Remove this when all usages have been removed.

◆ setType()

void mlir::BlockArgument::setType ( Type  newType)
inline

Set the type of this value.


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