MultipleEntryIfReduction(const ParameterConstRef _Param, const application_managerRef _AppM, unsigned int function_id, const DesignFlowManagerConstRef design_flow_manager)
Constructor.
tree_manipulationRef tree_man
The tree manipulation.
void Initialize() override
Initialize the step (i.e., like a constructor, but executed just before exec.
bool HasToBeExecuted() const override
Check if this step has actually to be executed.
~MultipleEntryIfReduction() override
Destructor.
const CustomUnorderedSet< std::pair< FrontendFlowStepType, FunctionRelationship > > ComputeFrontendRelationships(const DesignFlowStep::RelationshipType relationship_type) const override
Return the set of analyses in relationship with this design step.
AllocationInformationConstRef allocation_information
The allocation information.
REF_FORWARD_DECL(MultipleEntryIfReduction)
Class performing some optimizations exploiting the reduction of BB with n inputs and m outputs...
double GetAreaCost(const std::list< tree_nodeRef > &list_of_stmt) const
Estimate the area cost of the statements of a basic block.
CONSTREF_FORWARD_DECL(AllocationInformation)
DesignFlowStep_Status InternalExec() override
Extract patterns from the IR.