Commit e32ef434 by Christian Würdig

added function get nodes nodes live at another including the node inputs

parent 1acb2d4d
 ... @@ -734,3 +734,18 @@ pset *be_liveness_nodes_live_at(const be_lv_t *lv, const arch_env_t *arch_env, c ... @@ -734,3 +734,18 @@ pset *be_liveness_nodes_live_at(const be_lv_t *lv, const arch_env_t *arch_env, c return live; return live; } } pset *be_liveness_nodes_live_at_input(const be_lv_t *lv, const arch_env_t *arch_env, const arch_register_class_t *cls, const ir_node *pos, pset *live) { const ir_node *bl = is_Block(pos) ? pos : get_nodes_block(pos); ir_node *irn; be_liveness_end_of_block(lv, arch_env, cls, bl, live); sched_foreach_reverse(bl, irn) { be_liveness_transfer(arch_env, cls, irn, live); if(irn == pos) return live; } return live; }
 ... @@ -145,6 +145,8 @@ pset *be_liveness_end_of_block(const be_lv_t *lv, const arch_env_t *arch_env, co ... @@ -145,6 +145,8 @@ pset *be_liveness_end_of_block(const be_lv_t *lv, const arch_env_t *arch_env, co /** /** * Compute a set of nodes which are live at another node. * Compute a set of nodes which are live at another node. * BEWARE: This is the liveness immediately after the node, * so the node itself is alive but it's operands maybe not. * @param arch_env The architecture environment. * @param arch_env The architecture environment. * @param cls The register class to consider. * @param cls The register class to consider. * @param pos The node. * @param pos The node. ... @@ -153,6 +155,18 @@ pset *be_liveness_end_of_block(const be_lv_t *lv, const arch_env_t *arch_env, co ... @@ -153,6 +155,18 @@ pset *be_liveness_end_of_block(const be_lv_t *lv, const arch_env_t *arch_env, co */ */ pset *be_liveness_nodes_live_at(const be_lv_t *lv, const arch_env_t *arch_env, const arch_register_class_t *cls, const ir_node *pos, pset *live); pset *be_liveness_nodes_live_at(const be_lv_t *lv, const arch_env_t *arch_env, const arch_register_class_t *cls, const ir_node *pos, pset *live); /** * Compute a set of nodes which are live at another node. * BEWARE: This is the liveness immediately before the node, * so the node itself is not alive but it's operands are. * @param arch_env The architecture environment. * @param cls The register class to consider. * @param pos The node. * @param live The set to put them into. * @return live. */ pset *be_liveness_nodes_live_at_input(const be_lv_t *lv, const arch_env_t *arch_env, const arch_register_class_t *cls, const ir_node *pos, pset *live); /** /** * FIXME: Need comment * FIXME: Need comment ... ...
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment