OpenASIP 2.2
Loading...
Searching...
No Matches
Public Member Functions | List of all members
DDGPass Class Reference

#include <DDGPass.hh>

Inheritance diagram for DDGPass:
Inheritance graph
Collaboration diagram for DDGPass:
Collaboration graph

Public Member Functions

 DDGPass (InterPassData &data)
 
virtual ~DDGPass ()
 
virtual int handleDDG (DataDependenceGraph &ddg, SimpleResourceManager &rm, const TTAMachine::Machine &targetMachine, int minCycle=0, bool testOnly=false)
 
virtual int handleLoopDDG (DataDependenceGraph &, SimpleResourceManager &, const TTAMachine::Machine &, int tripCount, SimpleResourceManager *prologRM=NULL, bool testOnly=false)
 
- Public Member Functions inherited from SchedulerPass
 SchedulerPass (InterPassData &data)
 
virtual ~SchedulerPass ()
 
InterPassDatainterPassData ()
 
virtual std::string shortDescription () const =0
 
virtual std::string longDescription () const
 

Detailed Description

Definition at line 51 of file DDGPass.hh.

Constructor & Destructor Documentation

◆ DDGPass()

DDGPass::DDGPass ( InterPassData data)

Constructor.

Definition at line 42 of file DDGPass.cc.

42 :
43 SchedulerPass(data) {
44}

◆ ~DDGPass()

DDGPass::~DDGPass ( )
virtual

Destructor.

Definition at line 49 of file DDGPass.cc.

49 {
50}

Member Function Documentation

◆ handleDDG()

int DDGPass::handleDDG ( DataDependenceGraph ddg,
SimpleResourceManager rm,
const TTAMachine::Machine targetMachine,
int  minCycle = 0,
bool  testOnly = false 
)
virtual

Handles a given DDG.

Parameters
ddgDDG to handle
rmResource manager that is to be used.
machineThe target machine if any. (NullMachine::instance() if target machine is irrelevant).
Exceptions
Incase handling is unsuccesful for any reason (basicBlock might still get modified).

Reimplemented in BF2Scheduler, BUBasicBlockScheduler, and BasicBlockScheduler.

Definition at line 63 of file DDGPass.cc.

65 {
66 // just to avoid warnings -- need to keep the argument names for
67 // Doxygen comments ;)
68 ddg.nodeCount();
69 rm.largestCycle();
70 targetMachine.machineTester();
71 abortWithError("Should never call this.");
72 minCycle++;
73 return INT_MAX;
74}
#define abortWithError(message)
int nodeCount() const
virtual int largestCycle() const override
MachineTester & machineTester() const
Definition Machine.cc:671

References abortWithError, SimpleResourceManager::largestCycle(), TTAMachine::Machine::machineTester(), and BoostGraph< GraphNode, GraphEdge >::nodeCount().

Here is the call graph for this function:

◆ handleLoopDDG()

int DDGPass::handleLoopDDG ( DataDependenceGraph ,
SimpleResourceManager ,
const TTAMachine::Machine ,
int  tripCount,
SimpleResourceManager prologRM = NULL,
bool  testOnly = false 
)
virtual

For BasicBlockPass to be able to call this method...

Reimplemented in BF2Scheduler, BasicBlockScheduler, and BUBasicBlockScheduler.

Definition at line 77 of file DDGPass.cc.

79 {
80 return -1;
81}

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