45 #ifndef DEAD_CODE_ELIMINATION_HPP 46 #define DEAD_CODE_ELIMINATION_HPP 107 const blocRef& bb_pred,
const unsigned int cand_bb_dest,
const unsigned int bb_dest)
const;
This struct specifies the field bloc (basic block).
This struct specifies the statement_list 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.
RelationshipType
The relationship type.
This class manages the tree structures extracted from the raw file.
bool HasToBeExecuted() const override
Check if this step has actually to be executed.
tree_nodeRef add_gimple_nop(const tree_managerRef &TM, const tree_nodeRef &cur_stmt, const blocRef &bb)
void fix_sdc_motion(tree_nodeRef removedStmt) const
blocRef move2emptyBB(const tree_managerRef &TM, const unsigned int new_bbi, const statement_list *sl, const blocRef &bb_pred, const unsigned int cand_bb_dest, const unsigned int bb_dest) const
~dead_code_elimination() override
Destructor.
This class contains the base representation for a generic frontend flow step which works on a single ...
dead_code_elimination(const ParameterConstRef _parameters, const application_managerRef AppM, unsigned int function_id, const DesignFlowManagerConstRef design_flow_manager)
Constructor.
Abstract pure class for the tree structure.
void kill_uses(const tree_managerRef &TM, const tree_nodeRef &op0) const
const Wrefcount< const DesignFlowManager > design_flow_manager
The design flow manager.
DesignFlowStep_Status
The status of a step.
REF_FORWARD_DECL(tree_manager)
static tree_nodeRef kill_vdef(const tree_managerRef &TM, const tree_nodeRef &vdef)
Replace virtual ssa definition with gimple nop.
Template definition of refcount.
const unsigned int function_id
The index of the function to be analyzed.
const application_managerRef AppM
The application manager.
std::map< unsigned int, bool > last_writing_memory
struct definition of the common part of a gimple with virtual operands
std::map< unsigned int, bool > last_reading_memory
this class is used to manage the command-line or XML options.
DesignFlowStep_Status InternalExec() override
Performs dead code elimination.