CIRCT  20.0.0git
Public Member Functions | List of all members
circt::scftocalyx::WhileLoopLoweringStateInterface Class Reference
Inheritance diagram for circt::scftocalyx::WhileLoopLoweringStateInterface:
Inheritance graph
[legend]
Collaboration diagram for circt::scftocalyx::WhileLoopLoweringStateInterface:
Collaboration graph
[legend]

Public Member Functions

SmallVector< calyx::GroupOp > getWhileLoopInitGroups (ScfWhileOp op)
 
calyx::GroupOp buildWhileLoopIterArgAssignments (OpBuilder &builder, ScfWhileOp op, calyx::ComponentOp componentOp, Twine uniqueSuffix, MutableArrayRef< OpOperand > ops)
 
void addWhileLoopIterReg (ScfWhileOp op, calyx::RegisterOp reg, unsigned idx)
 
const DenseMap< unsigned, calyx::RegisterOp > & getWhileLoopIterRegs (ScfWhileOp op)
 
void setWhileLoopLatchGroup (ScfWhileOp op, calyx::GroupOp group)
 
calyx::GroupOp getWhileLoopLatchGroup (ScfWhileOp op)
 
void setWhileLoopInitGroups (ScfWhileOp op, SmallVector< calyx::GroupOp > groups)
 

Additional Inherited Members

- Private Member Functions inherited from circt::calyx::LoopLoweringStateInterface< ScfWhileOp >
 ~LoopLoweringStateInterface ()=default
 
void addLoopIterReg (ScfWhileOp op, calyx::RegisterOp reg, unsigned idx)
 Register reg as being the idx'th iter_args register for 'op'. More...
 
calyx::RegisterOp getLoopIterReg (ScfWhileOp op, unsigned idx)
 Return a mapping of block argument indices to block argument. More...
 
const DenseMap< unsigned, calyx::RegisterOp > & getLoopIterRegs (ScfWhileOp op)
 Return a mapping of block argument indices to block argument. More...
 
void setLoopLatchGroup (ScfWhileOp op, calyx::GroupOp group)
 Registers grp to be the loop latch group of op. More...
 
calyx::GroupOp getLoopLatchGroup (ScfWhileOp op)
 Retrieve the loop latch group registered for op. More...
 
void setLoopInitGroups (ScfWhileOp op, SmallVector< calyx::GroupOp > groups)
 Registers groups to be the loop init groups of op. More...
 
SmallVector< calyx::GroupOp > getLoopInitGroups (ScfWhileOp op)
 Retrieve the loop init groups registered for op. More...
 
calyx::GroupOp buildLoopIterArgAssignments (OpBuilder &builder, ScfWhileOp op, calyx::ComponentOp componentOp, Twine uniqueSuffix, MutableArrayRef< OpOperand > ops)
 Creates a new group that assigns the 'ops' values to the iter arg registers of the loop operation. More...
 

Detailed Description

Definition at line 193 of file SCFToCalyx.cpp.

Member Function Documentation

◆ addWhileLoopIterReg()

void circt::scftocalyx::WhileLoopLoweringStateInterface::addWhileLoopIterReg ( ScfWhileOp  op,
calyx::RegisterOp  reg,
unsigned  idx 
)
inline

Definition at line 205 of file SCFToCalyx.cpp.

References seq::reg().

◆ buildWhileLoopIterArgAssignments()

calyx::GroupOp circt::scftocalyx::WhileLoopLoweringStateInterface::buildWhileLoopIterArgAssignments ( OpBuilder &  builder,
ScfWhileOp  op,
calyx::ComponentOp  componentOp,
Twine  uniqueSuffix,
MutableArrayRef< OpOperand >  ops 
)
inline

Definition at line 199 of file SCFToCalyx.cpp.

◆ getWhileLoopInitGroups()

SmallVector<calyx::GroupOp> circt::scftocalyx::WhileLoopLoweringStateInterface::getWhileLoopInitGroups ( ScfWhileOp  op)
inline

Definition at line 196 of file SCFToCalyx.cpp.

◆ getWhileLoopIterRegs()

const DenseMap<unsigned, calyx::RegisterOp>& circt::scftocalyx::WhileLoopLoweringStateInterface::getWhileLoopIterRegs ( ScfWhileOp  op)
inline

Definition at line 209 of file SCFToCalyx.cpp.

◆ getWhileLoopLatchGroup()

calyx::GroupOp circt::scftocalyx::WhileLoopLoweringStateInterface::getWhileLoopLatchGroup ( ScfWhileOp  op)
inline

Definition at line 215 of file SCFToCalyx.cpp.

◆ setWhileLoopInitGroups()

void circt::scftocalyx::WhileLoopLoweringStateInterface::setWhileLoopInitGroups ( ScfWhileOp  op,
SmallVector< calyx::GroupOp >  groups 
)
inline

Definition at line 218 of file SCFToCalyx.cpp.

◆ setWhileLoopLatchGroup()

void circt::scftocalyx::WhileLoopLoweringStateInterface::setWhileLoopLatchGroup ( ScfWhileOp  op,
calyx::GroupOp  group 
)
inline

Definition at line 212 of file SCFToCalyx.cpp.


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