120 void ApplyDiffNothing(
const unsigned int bb_index);
126 void ApplyGimpleNothing(
const unsigned int bb_index);
132 void ApplyIfMerge(
const unsigned int bb_index);
139 void ApplyIfNothing(
const unsigned int bb_index);
145 void ApplyIfRemove(
const unsigned int bb_index);
151 void ApplyMultiMerge(
const unsigned int bb_index);
158 void ApplyMultiNothing(
const unsigned int bb_index);
164 void ApplyMultiRemove(
const unsigned int bb_index);
169 void SinglePhiOptimization(
const unsigned int bb_index);
175 void ChainOptimization(
const unsigned int bb_index);
181 void MergePhi(
const unsigned int bb_index);
This struct specifies the field bloc (basic block).
Step successfully executed.
tree_managerRef TM
The tree manager.
This struct specifies the statement_list node.
Class managing the schedule of the operations.
RelationshipType
The relationship type.
This class manages the tree structures extracted from the raw file.
tree_manipulationConstRef tree_man
The tree manipulation.
bool bb_modified
flag used to restart code motion step
This struct specifies the gimple_cond node.
This class contains the base representation for a generic frontend flow step which works on a single ...
Phi dominated by gimple_multi_way_if to be merged.
This struct specifies the gimple_phi node.
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.
Phi dominated by gimple_cond to be removed.
CONSTREF_FORWARD_DECL(tree_manipulation)
const Wrefcount< const DesignFlowManager > design_flow_manager
The design flow manager.
Classes specification of the tree_node data structures.
Empty basic block with multiple input.
DesignFlowStep_Status
The status of a step.
static bool tree_dumped
flag to check if initial tree has been dumped
Template definition of refcount.
Basic block dominated by multi way if can be removed without further changes.
DesignFlowStep_Status InternalExec() override
Restructures the unstructured code.
PhiOpt_PatternType
Identifier of patterns to be transformed by phi_opt.
const unsigned int function_id
The index of the function to be analyzed.
Basic block dominated by if can be removed without further changes.
const application_managerRef AppM
The application manager.
Empty basic block dominated by assign can be removed without further changes.
void Initialize() override
Initialize the step (i.e., like a constructor, but executed just before exec.
Restructure the tree control flow graph.
Phi dominated by gimple_multi_way_if to be removed.
ScheduleRef schedule
The scheduling solution.
Edges coming from if to be merged.
This class creates a layer to add nodes and to manipulate the tree_nodes manager. ...