PandA-2024.02
Public Member Functions | Static Public Member Functions | Private Attributes
AuxDesignFlowStep Class Reference

Class describing auxiliary steps in design flow. More...

#include <design_flow_aux_step.hpp>

Inheritance diagram for AuxDesignFlowStep:
Inheritance graph
[legend]
Collaboration diagram for AuxDesignFlowStep:
Collaboration graph
[legend]

Public Member Functions

 AuxDesignFlowStep (std::string name, const AuxDesignFlowStepType type, const DesignFlowManagerConstRef design_flow_manager, const ParameterConstRef parameters)
 Constructor. More...
 
 ~AuxDesignFlowStep () override
 Destructor. More...
 
DesignFlowStep_Status Exec () override
 Execute the step. More...
 
bool HasToBeExecuted () const override
 Check if this step has actually to be executed. More...
 
std::string GetSignature () const override
 Return a unified identifier of this design step. More...
 
std::string GetName () const override
 Return the name of this design step. More...
 
void ComputeRelationships (DesignFlowStepSet &relationship, const DesignFlowStep::RelationshipType relationship_type) override
 Compute the relationships of a step with other steps. More...
 
void WriteDot (std::ostream &out) const override
 Write the label for a dot graph. More...
 
DesignFlowStepFactoryConstRef CGetDesignFlowStepFactory () const override
 Return the factory to create this type of steps. More...
 
- Public Member Functions inherited from DesignFlowStep
 DesignFlowStep (const DesignFlowManagerConstRef design_flow_manager, const ParameterConstRef parameters)
 Constructor. More...
 
virtual ~DesignFlowStep ()
 Destructor. More...
 
virtual void Initialize ()
 Initialize the step (i.e., like a constructor, but executed just before exec. More...
 
DesignFlowStep_Status GetStatus () const
 Return the status of this design step. More...
 
bool IsComposed () const
 Returns if this step is composed. More...
 
int CGetDebugLevel () const
 Return the debug level of the step. More...
 
virtual void PrintInitialIR () const
 Dump the initial intermediate representation. More...
 
virtual void PrintFinalIR () const
 Dump the final intermediate representation. More...
 

Static Public Member Functions

static const std::string ComputeSignature (const std::string &name, const AuxDesignFlowStepType type)
 Compute the signature of a sdf design flow step. More...
 

Private Attributes

const AuxDesignFlowStepType type
 The type of this auxiliary design flow step. More...
 
const std::string name
 The name of this auxiliary design flow step. More...
 

Additional Inherited Members

- Public Types inherited from DesignFlowStep
enum  RelationshipType { DEPENDENCE_RELATIONSHIP, INVALIDATION_RELATIONSHIP, PRECEDENCE_RELATIONSHIP }
 The relationship type. More...
 
- Protected Attributes inherited from DesignFlowStep
bool composed
 True if this step represents a composition of design flow steps (e.g., a flow); must be set by specialized constructors. More...
 
const Wrefcount< const DesignFlowManagerdesign_flow_manager
 The design flow manager. More...
 
const ParameterConstRef parameters
 Set of input parameters. More...
 
int debug_level
 The debug level. More...
 
const int output_level
 The output level. More...
 

Detailed Description

Class describing auxiliary steps in design flow.

Definition at line 59 of file design_flow_aux_step.hpp.

Constructor & Destructor Documentation

◆ AuxDesignFlowStep()

AuxDesignFlowStep::AuxDesignFlowStep ( std::string  name,
const AuxDesignFlowStepType  type,
const DesignFlowManagerConstRef  design_flow_manager,
const ParameterConstRef  parameters 
)

Constructor.

Parameters
nameis the name of the step
typeis the type of the step
design_flow_manageris the design flow manager
parametersis the set of input parameters

Definition at line 50 of file design_flow_aux_step.cpp.

References ~AuxDesignFlowStep().

Here is the call graph for this function:

◆ ~AuxDesignFlowStep()

AuxDesignFlowStep::~AuxDesignFlowStep ( )
overridedefault

Destructor.

Referenced by AuxDesignFlowStep().

Here is the caller graph for this function:

Member Function Documentation

◆ CGetDesignFlowStepFactory()

DesignFlowStepFactoryConstRef AuxDesignFlowStep::CGetDesignFlowStepFactory ( ) const
overridevirtual

Return the factory to create this type of steps.

Implements DesignFlowStep.

Definition at line 88 of file design_flow_aux_step.cpp.

References THROW_UNREACHABLE.

◆ ComputeRelationships()

void AuxDesignFlowStep::ComputeRelationships ( DesignFlowStepSet relationship,
const DesignFlowStep::RelationshipType  relationship_type 
)
overridevirtual

Compute the relationships of a step with other steps.

Parameters
design_flowis the design flow graph
dependenciesis where relationships will be stored
relationship_typeis the type of relationship to be computed

Implements DesignFlowStep.

Definition at line 59 of file design_flow_aux_step.cpp.

◆ ComputeSignature()

const std::string AuxDesignFlowStep::ComputeSignature ( const std::string &  name,
const AuxDesignFlowStepType  type 
)
static

Compute the signature of a sdf design flow step.

Parameters
nameis the name of the step
typeis the type of auxiliary step
Returns
the signature corresponding to the analysis/transformation

Definition at line 63 of file design_flow_aux_step.cpp.

References name, and STR.

Referenced by GetSignature().

Here is the caller graph for this function:

◆ Exec()

DesignFlowStep_Status AuxDesignFlowStep::Exec ( )
overridevirtual

Execute the step.

Returns
the exit status of this step

Implements DesignFlowStep.

Definition at line 68 of file design_flow_aux_step.cpp.

References EMPTY.

◆ GetName()

std::string AuxDesignFlowStep::GetName ( ) const
overridevirtual

Return the name of this design step.

Returns
the name of the pass (for debug purpose)

Implements DesignFlowStep.

Definition at line 73 of file design_flow_aux_step.cpp.

References name.

◆ GetSignature()

std::string AuxDesignFlowStep::GetSignature ( ) const
overridevirtual

Return a unified identifier of this design step.

Returns
the signature of the design step

Implements DesignFlowStep.

Definition at line 78 of file design_flow_aux_step.cpp.

References ComputeSignature(), name, and type.

Here is the call graph for this function:

◆ HasToBeExecuted()

bool AuxDesignFlowStep::HasToBeExecuted ( ) const
overridevirtual

Check if this step has actually to be executed.

Returns
true if the step has to be executed

Implements DesignFlowStep.

Definition at line 94 of file design_flow_aux_step.cpp.

◆ WriteDot()

void AuxDesignFlowStep::WriteDot ( std::ostream &  out) const
overridevirtual

Write the label for a dot graph.

Parameters
outis the stream where label has to be printed

Reimplemented from DesignFlowStep.

Definition at line 83 of file design_flow_aux_step.cpp.

References name.

Field Documentation

◆ name

const std::string AuxDesignFlowStep::name
private

The name of this auxiliary design flow step.

Definition at line 66 of file design_flow_aux_step.hpp.

Referenced by ComputeSignature(), GetName(), GetSignature(), and WriteDot().

◆ type

const AuxDesignFlowStepType AuxDesignFlowStep::type
private

The type of this auxiliary design flow step.

Definition at line 63 of file design_flow_aux_step.hpp.

Referenced by GetSignature().


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

Generated on Mon Feb 12 2024 13:03:44 for PandA-2024.02 by doxygen 1.8.13