- make is_arg_Proj() global
authorMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Fri, 20 Jun 2008 13:51:29 +0000 (13:51 +0000)
committerMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Fri, 20 Jun 2008 13:51:29 +0000 (13:51 +0000)
[r20195]

include/libfirm/irnode.h
ir/ana/irmemory.c
ir/ir/irnode.c
ir/ir/irnode_t.h

index 0ea6a9f..32af46c 100644 (file)
@@ -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);
index 0a4a33d..0f7ee48 100644 (file)
@@ -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.
  *
index 66eb236..260f18a 100644 (file)
@@ -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));
index f1c8275..8db5317 100644 (file)
@@ -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