- IR nodes now have node numbers in RELEASE mode, this fixes problems in backend
[libfirm] / ir / be / benode.c
index 87062c2..894e067 100644 (file)
@@ -1095,8 +1095,8 @@ be_node_get_irn_reg_req(const ir_node *irn, int pos)
                 * For spills and reloads, we return "none" as requirement for frame
                 * pointer, so every input is ok. Some backends need this (e.g. STA).
                 */
-               if ((be_is_Spill(irn)  && pos == be_pos_Spill_frame) ||
-                               (be_is_Reload(irn) && pos == be_pos_Reload_frame))
+               if ((pos == be_pos_Spill_frame && be_is_Spill(irn)) ||
+                   (pos == be_pos_Reload_frame && be_is_Reload(irn)))
                        return arch_no_register_req;
 
                return get_in_reg_req(irn, pos);
@@ -1599,14 +1599,8 @@ int is_be_node(const ir_node *irn)
        return get_op_ops(get_irn_op(irn))->be_ops == &be_node_irn_ops;
 }
 
-void be_node_init(void) {
-       static int inited = 0;
-
-       if(inited)
-               return;
-
-       inited = 1;
-
+void be_init_op(void)
+{
        /* Acquire all needed opcodes. */
        op_be_Spill      = new_ir_op(beo_Spill,     "be_Spill",     op_pin_state_pinned, N,   oparity_unary,    0, sizeof(be_frame_attr_t),   &be_node_op_ops);
        op_be_Reload     = new_ir_op(beo_Reload,    "be_Reload",    op_pin_state_pinned, N,   oparity_zero,     0, sizeof(be_frame_attr_t),   &be_node_op_ops);