CIRCT  20.0.0git
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
circt::Backedge Class Reference

Backedge is a wrapper class around a Value. More...

#include <BackedgeBuilder.h>

Collaboration diagram for circt::Backedge:
Collaboration graph
[legend]

Public Member Functions

 Backedge ()
 
 operator bool () const
 
 operator mlir::Value () const
 
void setValue (mlir::Value)
 

Private Member Functions

 Backedge (mlir::Operation *op)
 Backedge is constructed exclusively by BackedgeBuilder. More...
 

Private Attributes

mlir::Value value
 
bool set = false
 

Friends

class BackedgeBuilder
 

Detailed Description

Backedge is a wrapper class around a Value.

When assigned another Value, it replaces all uses of itself with the new Value then become a wrapper around the new Value.

Definition at line 80 of file BackedgeBuilder.h.

Constructor & Destructor Documentation

◆ Backedge() [1/2]

Backedge::Backedge ( mlir::Operation *  op)
private

Backedge is constructed exclusively by BackedgeBuilder.

Definition at line 21 of file BackedgeBuilder.cpp.

◆ Backedge() [2/2]

circt::Backedge::Backedge ( )
inline

Definition at line 87 of file BackedgeBuilder.h.

Member Function Documentation

◆ operator bool()

circt::Backedge::operator bool ( ) const
inlineexplicit

Definition at line 89 of file BackedgeBuilder.h.

References value.

◆ operator mlir::Value()

circt::Backedge::operator mlir::Value ( ) const
inline

Definition at line 90 of file BackedgeBuilder.h.

References value.

◆ setValue()

void Backedge::setValue ( mlir::Value  newValue)

Definition at line 23 of file BackedgeBuilder.cpp.

References assert(), set, and value.

Friends And Related Function Documentation

◆ BackedgeBuilder

friend class BackedgeBuilder
friend

Definition at line 81 of file BackedgeBuilder.h.

Member Data Documentation

◆ set

bool circt::Backedge::set = false
private

Definition at line 95 of file BackedgeBuilder.h.

Referenced by setValue().

◆ value

mlir::Value circt::Backedge::value
private

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