X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbelive.h;h=4772ac30f5cb02da6c5415e76e8461e95dff40e5;hb=3dc38f8f23569593c030b85e83ecd9174a95bc73;hp=f368fb3ffb374a29569bfbf62a19f579288f2a75;hpb=f1b19d7dc93dcac082f79e9e38b84bc3258c79a4;p=libfirm diff --git a/ir/be/belive.h b/ir/be/belive.h index f368fb3ff..4772ac30f 100644 --- a/ir/be/belive.h +++ b/ir/be/belive.h @@ -49,9 +49,9 @@ void be_liveness_recompute(be_lv_t *lv); /** * Update the liveness information for a single node. * It is irrelevant if there is liveness information present for the node. - * The liveness information for the node is firstly deleted and then recompute. - * So, if the node is fresh and never recorded inf the liveness information - * before, it is more efficient to call be_liveness_introduce(). + * The liveness information for the node is firstly deleted and then recomputed. + * If the node is fresh and never recorded inf the liveness information before, + * it is more efficient to call be_liveness_introduce(). */ void be_liveness_update(be_lv_t *lv, ir_node *irn); @@ -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. + * 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 cls The register class to consider. * @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 */ 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