40 #ifndef COMMUTATIVE_EXPR_RESTRUCTURING_HPP 41 #define COMMUTATIVE_EXPR_RESTRUCTURING_HPP
bool IsCommExprGimple(const tree_nodeConstRef tn) const
Return true if tree node is a gimple_assign with a mult_expr/plus_expr in the right part...
Class managing the schedule of the operations.
REF_FORWARD_DECL(AllocationInformation)
Superclass include.
RelationshipType
The relationship type.
DesignFlowStep_Status InternalExec() override
Performs the loops analysis.
This class manages the tree structures extracted from the raw file.
bool HasToBeExecuted() const override
Check if this step has actually to be executed.
This class contains the base representation for a generic frontend flow step which works on a single ...
Abstract pure class for the tree structure.
ScheduleRef schedule
The schedule.
tree_managerRef TM
The tree manager.
~commutative_expr_restructuring() override
Destructor.
const Wrefcount< const DesignFlowManager > design_flow_manager
The design flow manager.
const ParameterConstRef parameters
Set of input parameters.
DesignFlowStep_Status
The status of a step.
void Initialize() override
Initialize the step (i.e., like a constructor, but executed just before exec.
Template definition of refcount.
tree_nodeRef IsCommExprChain(const tree_nodeConstRef tn, const bool first, bool is_third_node) const
Given a gimple_assign with a commutative operation it checks:
const unsigned int function_id
The index of the function to be analyzed.
const application_managerRef AppM
The application manager.
AllocationInformationRef allocation_information
The allocation information.
commutative_expr_restructuring(const application_managerRef AppM, unsigned int function_id, const DesignFlowManagerConstRef design_flow_manager, const ParameterConstRef parameters)
Constructor.
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.
CONSTREF_FORWARD_DECL(tree_node)