CIRCT 24.0.0git
Loading...
Searching...
No Matches
circt::llhd::deseq::ValueTable Struct Reference

A table of SSA values and the conditions under which they appear. More...

#include <DeseqUtils.h>

Collaboration diagram for circt::llhd::deseq::ValueTable:

Public Member Functions

 ValueTable ()=default
 ValueTable (TruthTable condition, ValueEntry entry)
void addCondition (TruthTable condition)
void merge (const ValueTable &other)
void minimize ()

Public Attributes

SmallVector< std::pair< TruthTable, ValueEntry >, 1 > entries

Detailed Description

A table of SSA values and the conditions under which they appear.

This struct can be used to track the various concrete values an SSA value may assume depending on how control flow reaches it.

Definition at line 200 of file DeseqUtils.h.

Constructor & Destructor Documentation

◆ ValueTable() [1/2]

circt::llhd::deseq::ValueTable::ValueTable ( )
default

Referenced by merge().

◆ ValueTable() [2/2]

circt::llhd::deseq::ValueTable::ValueTable ( TruthTable condition,
ValueEntry entry )
inline

Definition at line 204 of file DeseqUtils.h.

References entries.

Member Function Documentation

◆ addCondition()

void ValueTable::addCondition ( TruthTable condition)

Definition at line 245 of file DeseqUtils.cpp.

References entries, and minimize().

◆ merge()

void ValueTable::merge ( const ValueTable & other)

Definition at line 251 of file DeseqUtils.cpp.

References entries, minimize(), and ValueTable().

◆ minimize()

void ValueTable::minimize ( )

Definition at line 256 of file DeseqUtils.cpp.

References assert(), and entries.

Referenced by addCondition(), and merge().

Member Data Documentation

◆ entries

SmallVector<std::pair<TruthTable, ValueEntry>, 1> circt::llhd::deseq::ValueTable::entries

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