bugfixes
[libfirm] / ir / be / beutil.h
index d37632b..386d86a 100644 (file)
  */
 static INLINE const ir_node *get_block(const ir_node *irn)
 {
-  return is_Block(irn) ? irn : get_nodes_block(irn);
+       return is_Block(irn) ? irn : get_nodes_block(irn);
 }
 
 static INLINE int is_firm_be_mode(const ir_mode *mode)
 {
-       return mode_is_datab(mode);
+       return mode_is_data(mode);
 }
 
 /**
@@ -41,6 +41,10 @@ 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;