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

Public Member Functions

SmallVector< calyx::GroupOp > getForLoopInitGroups (ScfForOp op)
 
calyx::GroupOp buildForLoopIterArgAssignments (OpBuilder &builder, ScfForOp op, calyx::ComponentOp componentOp, Twine uniqueSuffix, MutableArrayRef< OpOperand > ops)
 
void addForLoopIterReg (ScfForOp op, calyx::RegisterOp reg, unsigned idx)
 
const DenseMap< unsigned, calyx::RegisterOp > & getForLoopIterRegs (ScfForOp op)
 
calyx::RegisterOp getForLoopIterReg (ScfForOp op, unsigned idx)
 
void setForLoopLatchGroup (ScfForOp op, calyx::GroupOp group)
 
calyx::GroupOp getForLoopLatchGroup (ScfForOp op)
 
void setForLoopInitGroups (ScfForOp op, SmallVector< calyx::GroupOp > groups)
 

Additional Inherited Members

- Private Member Functions inherited from circt::calyx::LoopLoweringStateInterface< ScfForOp >
 ~LoopLoweringStateInterface ()=default
 
void addLoopIterReg (ScfForOp op, calyx::RegisterOp reg, unsigned idx)
 Register reg as being the idx'th iter_args register for 'op'. More...
 
calyx::RegisterOp getLoopIterReg (ScfForOp op, unsigned idx)
 Return a mapping of block argument indices to block argument. More...
 
const DenseMap< unsigned, calyx::RegisterOp > & getLoopIterRegs (ScfForOp op)
 Return a mapping of block argument indices to block argument. More...
 
void setLoopLatchGroup (ScfForOp op, calyx::GroupOp group)
 Registers grp to be the loop latch group of op. More...
 
calyx::GroupOp getLoopLatchGroup (ScfForOp op)
 Retrieve the loop latch group registered for op. More...
 
void setLoopInitGroups (ScfForOp op, SmallVector< calyx::GroupOp > groups)
 Registers groups to be the loop init groups of op. More...
 
SmallVector< calyx::GroupOp > getLoopInitGroups (ScfForOp op)
 Retrieve the loop init groups registered for op. More...
 
calyx::GroupOp buildLoopIterArgAssignments (OpBuilder &builder, ScfForOp 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 212 of file SCFToCalyx.cpp.

Member Function Documentation

◆ addForLoopIterReg()

void circt::scftocalyx::ForLoopLoweringStateInterface::addForLoopIterReg ( ScfForOp  op,
calyx::RegisterOp  reg,
unsigned  idx 
)
inline

Definition at line 224 of file SCFToCalyx.cpp.

References seq::reg().

◆ buildForLoopIterArgAssignments()

calyx::GroupOp circt::scftocalyx::ForLoopLoweringStateInterface::buildForLoopIterArgAssignments ( OpBuilder &  builder,
ScfForOp  op,
calyx::ComponentOp  componentOp,
Twine  uniqueSuffix,
MutableArrayRef< OpOperand >  ops 
)
inline

Definition at line 218 of file SCFToCalyx.cpp.

◆ getForLoopInitGroups()

SmallVector<calyx::GroupOp> circt::scftocalyx::ForLoopLoweringStateInterface::getForLoopInitGroups ( ScfForOp  op)
inline

Definition at line 215 of file SCFToCalyx.cpp.

◆ getForLoopIterReg()

calyx::RegisterOp circt::scftocalyx::ForLoopLoweringStateInterface::getForLoopIterReg ( ScfForOp  op,
unsigned  idx 
)
inline

Definition at line 230 of file SCFToCalyx.cpp.

◆ getForLoopIterRegs()

const DenseMap<unsigned, calyx::RegisterOp>& circt::scftocalyx::ForLoopLoweringStateInterface::getForLoopIterRegs ( ScfForOp  op)
inline

Definition at line 227 of file SCFToCalyx.cpp.

◆ getForLoopLatchGroup()

calyx::GroupOp circt::scftocalyx::ForLoopLoweringStateInterface::getForLoopLatchGroup ( ScfForOp  op)
inline

Definition at line 236 of file SCFToCalyx.cpp.

◆ setForLoopInitGroups()

void circt::scftocalyx::ForLoopLoweringStateInterface::setForLoopInitGroups ( ScfForOp  op,
SmallVector< calyx::GroupOp >  groups 
)
inline

Definition at line 239 of file SCFToCalyx.cpp.

◆ setForLoopLatchGroup()

void circt::scftocalyx::ForLoopLoweringStateInterface::setForLoopLatchGroup ( ScfForOp  op,
calyx::GroupOp  group 
)
inline

Definition at line 233 of file SCFToCalyx.cpp.


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