-static INLINE int is_data_node(const ir_node *irn)
-{
- int i, n;
-
- /* Unknowns do not exist, so they produce nothing */
- if(get_irn_opcode(irn) == iro_Unknown)
- return 0;
-
- /* If the node produces a data value, return immediately. */
- if(is_firm_be_mode(get_irn_mode(irn)))
- return 1;
-
- /* else check, if it takes a data value, if that is so, return */
- for(i = 0, n = get_irn_arity(irn); i < n; ++i) {
- ir_node *op = get_irn_n(irn, i);
- if(is_firm_be_mode(get_irn_mode(op)))
- return 1;
- }
-
- /* Else the node does not produce/consume a data value */
- return 0;
-}