init_sp Unknown node constructed with CSE disabled
[libfirm] / ir / be / benode.c
index 99ffc6d..487166b 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;
 }
@@ -309,12 +309,18 @@ ir_node *be_new_Reload(const arch_register_class_t *cls, const arch_register_cla
        return res;
 }
 
-ir_node *(be_get_Reload_mem)(const ir_node *irn)
+ir_node *be_get_Reload_mem(const ir_node *irn)
 {
        assert(be_is_Reload(irn));
        return get_irn_n(irn, be_pos_Reload_mem);
 }
 
+ir_node *be_get_Reload_frame(const ir_node *irn)
+{
+       assert(be_is_Reload(irn));
+       return get_irn_n(irn, be_pos_Reload_frame);
+}
+
 ir_node *be_new_Perm(const arch_register_class_t *cls, ir_graph *irg, ir_node *bl, int n, ir_node *in[])
 {
        int i;
@@ -345,6 +351,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;
@@ -595,6 +605,14 @@ ir_node *be_new_CopyKeep_single(const arch_register_class_t *cls, ir_graph *irg,
        return be_new_CopyKeep(cls, irg, bl, src, 1, in, mode);
 }
 
+ir_node *be_get_CopyKeep_op(const ir_node *cpy) {
+       return get_irn_n(cpy, be_pos_CopyKeep_op);
+}
+
+void be_set_CopyKeep_op(ir_node *cpy, ir_node *op) {
+       set_irn_n(cpy, be_pos_CopyKeep_op, op);
+}
+
 ir_node *be_new_Barrier(ir_graph *irg, ir_node *bl, int n, ir_node *in[])
 {
        ir_node *irn;
@@ -1016,6 +1034,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;
@@ -1334,7 +1353,7 @@ static int dump_node(ir_node *irn, FILE *f, dump_reason_t reason)
                                be_frame_attr_t *a = (be_frame_attr_t *) at;
                                if (a->ent) {
                                        int bits = get_type_size_bits(get_entity_type(a->ent));
-                                       ir_fprintf(f, "frame entity: %+F offset 0x%x (%d) size 0x%x %d\n",
+                                       ir_fprintf(f, "frame entity: %+F, offset 0x%x (%d), size 0x%x (%d) bits\n",
                                          a->ent, a->offset, a->offset, bits, bits);
                                }