CIRCT  19.0.0git
Classes | Typedefs | Functions
ExpandWhens.cpp File Reference
#include "PassDetails.h"
#include "circt/Dialect/FIRRTL/FIRRTLOps.h"
#include "circt/Dialect/FIRRTL/FIRRTLTypes.h"
#include "circt/Dialect/FIRRTL/FIRRTLUtils.h"
#include "circt/Dialect/FIRRTL/FIRRTLVisitors.h"
#include "circt/Dialect/FIRRTL/Passes.h"
#include "circt/Support/FieldRef.h"
#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/STLExtras.h"
Include dependency graph for ExpandWhens.cpp:

Go to the source code of this file.

Classes

struct  HashTableStack< KeyT, ValueT >
 This is a stack of hashtables, if lookup fails in the top-most hashtable, it will attempt to lookup in lower hashtables. More...
 
struct  HashTableStack< KeyT, ValueT >::Iterator
 

Typedefs

using ScopedDriverMap = HashTableStack< FieldRef, Operation * >
 This is a determistic mapping of a FieldRef to the last operation which set a value to it. More...
 
using DriverMap = ScopedDriverMap::ScopeT
 

Functions

static void mergeBlock (Block &destination, Block::iterator insertPoint, Block &source)
 Move all operations from a source block in to a destination block. More...
 

Typedef Documentation

◆ DriverMap

Definition at line 111 of file ExpandWhens.cpp.

◆ ScopedDriverMap

using ScopedDriverMap = HashTableStack<FieldRef, Operation *>

This is a determistic mapping of a FieldRef to the last operation which set a value to it.

Definition at line 110 of file ExpandWhens.cpp.

Function Documentation

◆ mergeBlock()

static void mergeBlock ( Block &  destination,
Block::iterator  insertPoint,
Block &  source 
)
static

Move all operations from a source block in to a destination block.

Leaves the source block empty.

Definition at line 28 of file ExpandWhens.cpp.

Referenced by buildMergeBlocks().