43 #ifndef VIRTUAL_PHI_NODES_SPLIT_HPP 44 #define VIRTUAL_PHI_NODES_SPLIT_HPP 87 std::map<std::pair<unsigned int, unsigned int>,
unsigned int>& replace);
This struct specifies the field bloc (basic block).
RelationshipType
The relationship type.
This class manages the tree structures extracted from the raw file.
REF_FORWARD_DECL(tree_manager)
This class contains the base representation for a generic frontend flow step which works on a single ...
Abstract pure class for the tree structure.
static bool tree_dumped
flag to check if initial tree has been dumped
unsigned map[NUM_VERTICES]
const Wrefcount< const DesignFlowManager > design_flow_manager
The design flow manager.
DesignFlowStep_Status
The status of a step.
Template definition of refcount.
void virtual_split_phi(tree_nodeRef phi, blocRef &bb_block, std::map< unsigned int, blocRef > &list_of_bloc, const tree_managerRef TM, std::map< std::pair< unsigned int, unsigned int >, unsigned int > &replace)
virtually split a particular phi in two or more assignments
tree_manipulationRef tree_man
DesignFlowStep_Status InternalExec() override
Performs the virtual splitting of the phi-nodes.
const unsigned int function_id
The index of the function to be analyzed.
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.
~virtual_phi_nodes_split() override
Destructor.
const application_managerRef AppM
The application manager.
virtual_phi_nodes_split(const ParameterConstRef _parameters, const application_managerRef AppM, unsigned int function_id, const DesignFlowManagerConstRef design_flow_manager)
Constructor.
blocRef next_entry
Basic block introduced after entry.
This class creates a layer to add nodes and to manipulate the tree_nodes manager. ...