wrapped debugging modules with DEBUG_ONLY
[libfirm] / ir / ir / irnode_t.h
index 2ce1f91..bc2e526 100644 (file)
@@ -355,6 +355,12 @@ _get_irn_op (const ir_node *node) {
   return node->op;
 }
 
+static INLINE void
+_set_irn_op (ir_node *node, ir_op *op) {
+  assert (node);
+  node->op = op;
+}
+
 /** Copies all attributes stored in the old node  to the new node.
     Assumes both have the same opcode and sufficient size. */
 static INLINE void
@@ -773,6 +779,11 @@ static INLINE void _set_Cond_jmp_pred(ir_node *node, cond_jmp_predicate pred) {
   node->attr.c.pred = pred;
 }
 
+static INLINE int _get_Psi_n_conds(ir_node *node) {
+  assert(_get_irn_op(node) == op_Psi);
+  return _get_irn_arity(node) >> 1;
+}
+
 /* 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)
@@ -784,6 +795,7 @@ static INLINE void _set_Cond_jmp_pred(ir_node *node, cond_jmp_predicate pred) {
 #define get_irn_mode(node)                    _get_irn_mode(node)
 #define set_irn_mode(node, mode)              _set_irn_mode(node, mode)
 #define get_irn_op(node)                      _get_irn_op(node)
+#define set_irn_op(node, op)                  _set_irn_op(node, op)
 #define get_irn_opcode(node)                  _get_irn_opcode(node)
 #define get_irn_visited(node)                 _get_irn_visited(node)
 #define set_irn_visited(node, v)              _set_irn_visited(node, v)
@@ -824,5 +836,6 @@ static INLINE void _set_Cond_jmp_pred(ir_node *node, cond_jmp_predicate pred) {
 #define is_irn_keep(node)                     _is_irn_keep(node)
 #define get_Cond_jmp_pred(node)               _get_Cond_jmp_pred(node)
 #define set_Cond_jmp_pred(node, pred)         _set_Cond_jmp_pred(node, pred)
+#define get_Psi_n_conds(node)                 _get_Psi_n_conds(node)
 
 # endif /* _IRNODE_T_H_ */