CIRCT  19.0.0git
Public Types | Public Member Functions | Private Attributes | List of all members
circt::llhd::TemporalRegionAnalysis Struct Reference

#include <TemporalRegions.h>

Collaboration diagram for circt::llhd::TemporalRegionAnalysis:
Collaboration graph
[legend]

Public Types

using BlockMapT = DenseMap< Block *, int >
 
using TRMapT = DenseMap< int, SmallVector< Block *, 8 > >
 

Public Member Functions

 TemporalRegionAnalysis (Operation *op)
 
void recalculate (Operation *)
 
unsigned getNumTemporalRegions ()
 
int getBlockTR (Block *)
 
SmallVector< Block *, 8 > getBlocksInTR (int)
 
SmallVector< Block *, 8 > getExitingBlocksInTR (int)
 
Block * getTREntryBlock (int)
 
bool hasSingleExitBlock (int tr)
 
bool isOwnTRSuccessor (int tr)
 
SmallVector< int, 8 > getTRSuccessors (int)
 
unsigned getNumTRSuccessors (int tr)
 
unsigned numBlocksInTR (int tr)
 

Private Attributes

unsigned numTRs
 
BlockMapT blockMap
 
TRMapT trMap
 

Detailed Description

Definition at line 23 of file TemporalRegions.h.

Member Typedef Documentation

◆ BlockMapT

using circt::llhd::TemporalRegionAnalysis::BlockMapT = DenseMap<Block *, int>

Definition at line 24 of file TemporalRegions.h.

◆ TRMapT

using circt::llhd::TemporalRegionAnalysis::TRMapT = DenseMap<int, SmallVector<Block *, 8> >

Definition at line 25 of file TemporalRegions.h.

Constructor & Destructor Documentation

◆ TemporalRegionAnalysis()

circt::llhd::TemporalRegionAnalysis::TemporalRegionAnalysis ( Operation *  op)
inlineexplicit

Definition at line 27 of file TemporalRegions.h.

References recalculate().

Member Function Documentation

◆ getBlocksInTR()

SmallVector< Block *, 8 > llhd::TemporalRegionAnalysis::getBlocksInTR ( int  tr)

Definition at line 121 of file TemporalRegions.cpp.

Referenced by numBlocksInTR().

◆ getBlockTR()

int llhd::TemporalRegionAnalysis::getBlockTR ( Block *  block)

Definition at line 115 of file TemporalRegions.cpp.

References assert().

◆ getExitingBlocksInTR()

SmallVector< Block *, 8 > llhd::TemporalRegionAnalysis::getExitingBlocksInTR ( int  tr)

Definition at line 128 of file TemporalRegions.cpp.

Referenced by hasSingleExitBlock().

◆ getNumTemporalRegions()

unsigned circt::llhd::TemporalRegionAnalysis::getNumTemporalRegions ( )
inline

Definition at line 31 of file TemporalRegions.h.

References numTRs.

◆ getNumTRSuccessors()

unsigned circt::llhd::TemporalRegionAnalysis::getNumTRSuccessors ( int  tr)
inline

Definition at line 47 of file TemporalRegions.h.

References getTRSuccessors().

◆ getTREntryBlock()

Block * llhd::TemporalRegionAnalysis::getTREntryBlock ( int  tr)

Definition at line 155 of file TemporalRegions.cpp.

References anyPredecessorHasWait().

◆ getTRSuccessors()

SmallVector< int, 8 > llhd::TemporalRegionAnalysis::getTRSuccessors ( int  tr)

Definition at line 143 of file TemporalRegions.cpp.

Referenced by getNumTRSuccessors(), and isOwnTRSuccessor().

◆ hasSingleExitBlock()

bool circt::llhd::TemporalRegionAnalysis::hasSingleExitBlock ( int  tr)
inline

Definition at line 38 of file TemporalRegions.h.

References getExitingBlocksInTR().

◆ isOwnTRSuccessor()

bool circt::llhd::TemporalRegionAnalysis::isOwnTRSuccessor ( int  tr)
inline

Definition at line 41 of file TemporalRegions.h.

References getTRSuccessors().

◆ numBlocksInTR()

unsigned circt::llhd::TemporalRegionAnalysis::numBlocksInTR ( int  tr)
inline

Definition at line 48 of file TemporalRegions.h.

References getBlocksInTR().

◆ recalculate()

void llhd::TemporalRegionAnalysis::recalculate ( Operation *  operation)

Member Data Documentation

◆ blockMap

BlockMapT circt::llhd::TemporalRegionAnalysis::blockMap
private

Definition at line 52 of file TemporalRegions.h.

Referenced by recalculate().

◆ numTRs

unsigned circt::llhd::TemporalRegionAnalysis::numTRs
private

Definition at line 51 of file TemporalRegions.h.

Referenced by getNumTemporalRegions(), and recalculate().

◆ trMap

TRMapT circt::llhd::TemporalRegionAnalysis::trMap
private

Definition at line 53 of file TemporalRegions.h.

Referenced by recalculate().


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