My Project
Classes | Macros | Typedefs
DFnetlist.h File Reference

Class to represent Basic Block Graphs (BBGs). The blocks of the DF netlist are annotated with a BB identifier of the BBG. Each BBG also includes a set of BB cycles that cover the most frequently executed BBs. More...

#include <cassert>
#include <deque>
#include <list>
#include <map>
#include <string>
#include "Dataflow.h"
#include "ErrorManager.h"
#include "FileUtil.h"
#include "MILP_Model.h"
Include dependency graph for DFnetlist.h:

Go to the source code of this file.

Classes

class  Dataflow::BasicBlockGraph
 
class  Dataflow::DFnetlist_Impl
 
class  Dataflow::DFlib_Impl
 

Macros

#define ForAllBlocks(b)   for (blockID b: allBlocks)
 
#define ForAllChannels(c)   for (channelID c: allChannels)
 
#define ForAllPorts(b, p)   for (portID p: getPorts(b, ALL_PORTS))
 
#define ForAllInputPorts(b, p)   for (portID p: getPorts(b, INPUT_PORTS))
 
#define ForAllOutputPorts(b, p)   for (portID p: getPorts(b, OUTPUT_PORTS))
 
#define ForAllBasicBlocks(bb)   for (bbID bb = 0; bb < numBasicBlocks(); ++bb)
 

Typedefs

using Dataflow::bbID = int
 
using Dataflow::bbArcID = int
 
using Dataflow::vecBBs = std::vector< bbID >
 
using Dataflow::setBBs = std::set< bbID >
 
using Dataflow::vecBBArcs = std::vector< bbArcID >
 
using Dataflow::setBBArcs = std::set< bbArcID >
 
using Dataflow::longValueType = long long
 

Detailed Description

Class to represent Basic Block Graphs (BBGs). The blocks of the DF netlist are annotated with a BB identifier of the BBG. Each BBG also includes a set of BB cycles that cover the most frequently executed BBs.

Implementation of the Dataflow netlist.