From: Michael Beck Date: Fri, 20 Jun 2008 13:51:29 +0000 (+0000) Subject: - make is_arg_Proj() global X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=609b83339c02182329d80b0cef7f5dc3e347c4ab;p=libfirm - make is_arg_Proj() global [r20195] --- diff --git a/include/libfirm/irnode.h b/include/libfirm/irnode.h index 0ea6a9f87..32af46c7e 100644 --- a/include/libfirm/irnode.h +++ b/include/libfirm/irnode.h @@ -1067,6 +1067,13 @@ void set_Proj_pred(ir_node *node, ir_node *pred); long get_Proj_proj(const ir_node *node); void set_Proj_proj(ir_node *node, long proj); +/** + * Returns non-zero if a node is a routine parameter. + * + * @param node the Proj node to test + */ +int is_arg_Proj(const ir_node *node); + ir_node **get_Tuple_preds_arr(ir_node *node); int get_Tuple_n_preds(const ir_node *node); ir_node *get_Tuple_pred(const ir_node *node, int pos); diff --git a/ir/ana/irmemory.c b/ir/ana/irmemory.c index 0a4a33da0..0f7ee4844 100644 --- a/ir/ana/irmemory.c +++ b/ir/ana/irmemory.c @@ -380,20 +380,6 @@ static ir_alias_relation different_types(ir_node *adr1, ir_node *adr2) return ir_may_alias; } /* different_types */ -/** - * Returns non-zero if a node is a routine parameter. - * - * @param node the Proj node to test - */ -static int is_arg_Proj(ir_node *node) { - if (! is_Proj(node)) - return 0; - node = get_Proj_pred(node); - if (! is_Proj(node)) - return 0; - return pn_Start_T_args == get_Proj_proj(node) && is_Start(get_Proj_pred(node)); -} /* is_arg_Proj */ - /** * Returns non-zero if a node is a result on a malloc-like routine. * diff --git a/ir/ir/irnode.c b/ir/ir/irnode.c index 66eb23634..260f18a47 100644 --- a/ir/ir/irnode.c +++ b/ir/ir/irnode.c @@ -2064,6 +2064,11 @@ set_Proj_proj(ir_node *node, long proj) { #endif /* INTERPROCEDURAL_VIEW */ } +/* Returns non-zero if a node is a routine parameter. */ +int (is_arg_Proj)(const ir_node *node) { + return _is_arg_Proj(node); +} + ir_node ** get_Tuple_preds_arr(ir_node *node) { assert(is_Tuple(node)); diff --git a/ir/ir/irnode_t.h b/ir/ir/irnode_t.h index f1c827569..8db531765 100644 --- a/ir/ir/irnode_t.h +++ b/ir/ir/irnode_t.h @@ -1009,6 +1009,18 @@ _set_Block_mark(ir_node *block, unsigned mark) { block->attr.block.marked = mark; } +/** Returns non-zero if a node is a routine parameter. */ +static INLINE int +_is_arg_Proj(const ir_node *node) { + if (! is_Proj(node)) + return 0; + node = get_Proj_pred(node); + if (! is_Proj(node)) + return 0; + return pn_Start_T_args == get_Proj_proj(node) && is_Start(get_Proj_pred(node)); +} + + /* this section MUST contain all inline functions */ #define is_ir_node(thing) _is_ir_node(thing) #define get_irn_intra_arity(node) _get_irn_intra_arity(node) @@ -1141,4 +1153,6 @@ _set_Block_mark(ir_node *block, unsigned mark) { #define set_Phi_next(node, phi) _set_Phi_next(node, phi) #define get_Phi_next(node) _get_Phi_next(node) +#define is_arg_Proj(node) _is_arg_Proj(node) + #endif