OpenASIP  2.0
Public Member Functions | Private Attributes | List of all members
SchedulerPass Class Referenceabstract

#include <SchedulerPass.hh>

Inheritance diagram for SchedulerPass:
Inheritance graph
Collaboration diagram for SchedulerPass:
Collaboration graph

Public Member Functions

 SchedulerPass (InterPassData &data)
 
virtual ~SchedulerPass ()
 
InterPassDatainterPassData ()
 
virtual std::string shortDescription () const =0
 
virtual std::string longDescription () const
 

Private Attributes

InterPassDatadata_
 arbitrary data stored by different passes for inter-pass communication More...
 

Detailed Description

Interface for scheduler passes with different scopes.

Definition at line 43 of file SchedulerPass.hh.

Constructor & Destructor Documentation

◆ SchedulerPass()

SchedulerPass::SchedulerPass ( InterPassData data)

Constructor.

Parameters
dataThe container that stores data passed between scheduler passes.

Definition at line 40 of file SchedulerPass.cc.

40  :
41  data_(&data) {
42 }

◆ ~SchedulerPass()

virtual SchedulerPass::~SchedulerPass ( )
inlinevirtual

Definition at line 46 of file SchedulerPass.hh.

46 {};

Member Function Documentation

◆ interPassData()

InterPassData & SchedulerPass::interPassData ( )

◆ longDescription()

std::string SchedulerPass::longDescription ( ) const
virtual

Optional longer description of the pass.

This description can include usage instructions, details of choice of algorithmic details, etc.

Returns
The description as a string.

Reimplemented in BBSchedulerController, BasicBlockScheduler, BUBasicBlockScheduler, and SequentialScheduler.

Definition at line 77 of file SchedulerPass.cc.

77  {
78  return "";
79 }

◆ shortDescription()

std::string SchedulerPass::shortDescription ( ) const
pure virtual

A short description of the pass, usually the optimization name, such as "basic block scheduler".

Returns
The description as a string.

Implemented in BBSchedulerController, BF2Scheduler, AbsoluteToRelativeJumps, Peel2BBLoops, PreOptimizer, BasicBlockScheduler, BUBasicBlockScheduler, SequentialScheduler, PostpassOperandSharer, ScheduleEstimator, SimpleIfConverter, and CallsToJumps.

Definition at line 64 of file SchedulerPass.cc.

64  {
65  return "";
66 }

Member Data Documentation

◆ data_

InterPassData* SchedulerPass::data_
private

arbitrary data stored by different passes for inter-pass communication

Definition at line 55 of file SchedulerPass.hh.

Referenced by interPassData().


The documentation for this class was generated from the following files:
SchedulerPass::data_
InterPassData * data_
arbitrary data stored by different passes for inter-pass communication
Definition: SchedulerPass.hh:55