*/
extern unsigned firm_add_node_size;
-/** Set the get_type operation of an ir_op. */
-ir_op *firm_set_default_get_type(ir_op *op);
+/**
+ * Sets the get_type operation for an ir_op_ops.
+ *
+ * @param code the opcode for the default operation
+ * @param ops the operations initialized
+ *
+ * @return
+ * The operations.
+ */
+ir_op_ops *firm_set_default_get_type(opcode code, ir_op_ops *ops);
/*-------------------------------------------------------------------*/
/* These function are most used in libfirm. Give them as static */
ir_op *op = _get_irn_op(old_node);
/* must always exist */
- op->copy_attr(old_node, new_node);
+ op->ops.copy_attr(old_node, new_node);
}
/**
assert (node);
/* Link field is used for Phi construction and various optimizations
in iropt. */
- assert(get_irg_phase_state(current_ir_graph) != phase_building);
+ assert(get_irg_phase_state(get_irn_irg(node)) != phase_building);
node->link = link;
}
}
static INLINE type *_get_irn_type(ir_node *node) {
- return _get_irn_op(node)->get_type(node);
+ return _get_irn_op(node)->ops.get_type(node);
}
static INLINE int _is_irn_constlike(const ir_node *node) {