is_be_irn is now public (needed for stats)
authorChristian Würdig <chriswue@ipd.info.uni-karlsruhe.de>
Fri, 19 May 2006 15:13:35 +0000 (15:13 +0000)
committerChristian Würdig <chriswue@ipd.info.uni-karlsruhe.de>
Fri, 19 May 2006 15:13:35 +0000 (15:13 +0000)
ir/be/benode.c
ir/be/benode_t.h

index 99ffc6d..03661d1 100644 (file)
@@ -232,7 +232,7 @@ static void *init_node_attr(ir_node* irn, int max_reg_data)
        return a;
 }
 
-static INLINE int is_be_node(const ir_node *irn)
+int is_be_node(const ir_node *irn)
 {
        return get_op_tag(get_irn_op(irn)) == &be_node_tag;
 }
@@ -345,6 +345,10 @@ ir_node *be_get_Copy_op(const ir_node *cpy) {
        return get_irn_n(cpy, be_pos_Copy_op);
 }
 
+void be_set_Copy_op(ir_node *cpy, ir_node *op) {
+       set_irn_n(cpy, be_pos_Copy_op, op);
+}
+
 ir_node *be_new_Keep(const arch_register_class_t *cls, ir_graph *irg, ir_node *bl, int n, ir_node *in[])
 {
        int i;
@@ -1016,6 +1020,7 @@ static arch_irn_class_t be_node_classify(const void *_self, const ir_node *irn)
                XXX(Perm, perm);
                XXX(Copy, copy);
                XXX(Return, branch);
+               XXX(StackParam, stackparam);
 #undef XXX
                default:
                return 0;
index fd7f4e3..365ab5b 100644 (file)
@@ -85,6 +85,11 @@ typedef enum {
  */
 #define BE_STACK_FRAME_SIZE ((unsigned) -1)
 
+/**
+ * Determines if irn is a be_node.
+ */
+int is_be_node(const ir_node *irn);
+
 /**
  * Create all BE specific opcodes.
  */
@@ -129,6 +134,8 @@ enum {
 ir_node *be_new_Copy(const arch_register_class_t *cls, ir_graph *irg, ir_node *block, ir_node *in);
 /** Returns the Copy Argument. */
 ir_node *be_get_Copy_op(const ir_node *cpy);
+/** Sets the Copy Argument. */
+void be_set_Copy_op(ir_node *cpy, ir_node *op);
 
 /**
  * Make a new Perm node.