X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbenode.h;h=b8090788249da87c126122a5ba4ebebecdefcff5;hb=03300a88ae8d61bb6c2129dcf55937f3250c1217;hp=d7b66333708aa8b6e2e45236d6dd203dedf941a0;hpb=b53410a0e9548f99c2b37699f01766f50f1055ff;p=libfirm diff --git a/ir/be/benode.h b/ir/be/benode.h index d7b663337..b80907882 100644 --- a/ir/be/benode.h +++ b/ir/be/benode.h @@ -480,9 +480,15 @@ ir_node *be_new_Phi(ir_node *block, int n_ins, ir_node **ins, ir_mode *mode, const arch_register_class_t *cls); /** - * irn handler for common be nodes and Phi's. + * Search for output of start node with a specific register */ -const void *be_node_get_irn_ops(const ir_node *irn); +ir_node *be_get_initial_reg_value(ir_graph *irg, const arch_register_t *reg); + +/** + * Search for input of a return node with a specific register and return + * its number. + */ +int be_find_return_reg_input(ir_node *ret, const arch_register_t *reg); static inline int be_is_Spill (const ir_node *irn) { return get_irn_opcode(irn) == beo_Spill ; } static inline int be_is_Reload (const ir_node *irn) { return get_irn_opcode(irn) == beo_Reload ; } @@ -496,7 +502,7 @@ static inline int be_is_Return (const ir_node *irn) { return get_irn_opcode(ir static inline int be_is_IncSP (const ir_node *irn) { return get_irn_opcode(irn) == beo_IncSP ; } static inline int be_is_AddSP (const ir_node *irn) { return get_irn_opcode(irn) == beo_AddSP ; } static inline int be_is_SubSP (const ir_node *irn) { return get_irn_opcode(irn) == beo_SubSP ; } -static inline int be_is_Start (const ir_node *irn) { return get_irn_opcode(irn) == beo_Start; } +static inline int be_is_Start (const ir_node *irn) { return get_irn_opcode(irn) == beo_Start ; } static inline int be_is_FrameAddr(const ir_node *irn) { return get_irn_opcode(irn) == beo_FrameAddr; } #endif