My Project
Public Member Functions | Static Public Member Functions | List of all members
mlir::edsc::OperationHandle Struct Reference

#include <Builders.h>

Inheritance diagram for mlir::edsc::OperationHandle:
Inheritance graph
[legend]
Collaboration diagram for mlir::edsc::OperationHandle:
Collaboration graph
[legend]

Public Member Functions

 OperationHandle ()
 
 OperationHandle (Operation *op)
 
 OperationHandle (const OperationHandle &)=default
 
OperationHandleoperator= (const OperationHandle &)=default
 
 operator Operation * ()
 
OperationgetOperation () const
 

Static Public Member Functions

template<typename Op , typename... Args>
static OperationHandle create (Args... args)
 
template<typename Op , typename... Args>
static Op createOp (Args... args)
 
static OperationHandle create (StringRef name, ArrayRef< ValueHandle > operands, ArrayRef< Type > resultTypes, ArrayRef< NamedAttribute > attributes={})
 Generic create for a named operation. More...
 

Additional Inherited Members

- Protected Member Functions inherited from mlir::edsc::CapturableHandle
 CapturableHandle ()=default
 

Detailed Description

An OperationHandle can be used in lieu of ValueHandle to capture the operation in cases when one does not care about, or cannot extract, a unique Value from the operation. This can be used for capturing zero result operations as well as multi-result operations that are not supported by ValueHandle. We do not distinguish further between zero and multi-result operations at this time.

Constructor & Destructor Documentation

◆ OperationHandle() [1/3]

mlir::edsc::OperationHandle::OperationHandle ( )
inline

◆ OperationHandle() [2/3]

mlir::edsc::OperationHandle::OperationHandle ( Operation op)
inline

◆ OperationHandle() [3/3]

mlir::edsc::OperationHandle::OperationHandle ( const OperationHandle )
default

Member Function Documentation

◆ create() [1/2]

template<typename Op , typename... Args>
OperationHandle mlir::edsc::OperationHandle::create ( Args...  args)
static

Generic mlir::Op create. This is the key to being extensible to the whole of MLIR without duplicating the type system or the op definitions.

◆ create() [2/2]

OperationHandle OperationHandle::create ( StringRef  name,
ArrayRef< ValueHandle operands,
ArrayRef< Type resultTypes,
ArrayRef< NamedAttribute attributes = {} 
)
static

Generic create for a named operation.

◆ createOp()

template<typename Op , typename... Args>
Op mlir::edsc::OperationHandle::createOp ( Args...  args)
static

◆ getOperation()

Operation* mlir::edsc::OperationHandle::getOperation ( ) const
inline

◆ operator Operation *()

mlir::edsc::OperationHandle::operator Operation * ( )
inline

◆ operator=()

OperationHandle& mlir::edsc::OperationHandle::operator= ( const OperationHandle )
default

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