never set the startblock to bad (even without the self-referencing loop)
[libfirm] / ir / ir / irnode.h
index 11756cb..4858ced 100644 (file)
 
 #include <stddef.h>
 
-#include "irgraph.h"
-#include "entity.h"
 #include "firm_common.h"
+#include "entity.h"
 #include "irop.h"
 #include "irmode.h"
-#include "type.h"
-#include "irextbb.h"
 #include "dbginfo.h"
 
 /**
@@ -177,7 +174,7 @@ ir_op *get_irn_op(const ir_node *node);
 /** Sets the opcode struct of the node. */
 void set_irn_op(ir_node *node, ir_op *op);
 /** Gets the opcode-enum of the node. */
-opcode get_irn_opcode(const ir_node *node);
+ir_opcode get_irn_opcode(const ir_node *node);
 /** Get the string representation of the opcode. */
 const char *get_irn_opname(const ir_node *node);
 /** Get the ident for a string representation of the opcode. */
@@ -841,6 +838,8 @@ void     set_Cast_type(ir_node *node, ir_type *to_tp);
  *
  * Returns true if the Cast node casts a class type to a super type.
  * Works also for pointers to classes (recursively).
+ *
+ * Needs typeinfo calculated.
  */
 int is_Cast_upcast(ir_node *node);
 
@@ -848,6 +847,8 @@ int is_Cast_upcast(ir_node *node);
  *
  * Returns true if the Cast node casts a class type to a sub type.
  * Works also for pointers to classes (recursively).
+ *
+ * Needs typeinfo calculated.
  */
 int is_Cast_downcast(ir_node *node);
 
@@ -1114,6 +1115,8 @@ void    set_Pin_op(ir_node *pin, ir_node *node);
 
 /** returns operand of node if node is a Proj. */
 ir_node *skip_Proj(ir_node *node);
+/** returns operand of node if node is a Proj. */
+const ir_node *skip_Proj_const(const ir_node *node);
 /** returns operand of node if node is a Id */
 ir_node *skip_Id(ir_node *node);   /* Old name is skip_nop(). */
 /** returns corresponding operand of Tuple if node is a Proj from
@@ -1139,6 +1142,8 @@ int      is_Mod(const ir_node *node);
 int      is_Div(const ir_node *node);
 /** return true if node is a DivMod node. */
 int      is_DivMod(const ir_node *node);
+/** return true if node is a Quot node. */
+int      is_Quot(const ir_node *node);
 /** returns true if the node is not a Block */
 int      is_no_Block(const ir_node *node);
 /** returns true if the node is a Block */
@@ -1155,6 +1160,8 @@ int      is_Sel(const ir_node *node);
 int      is_Mux(const ir_node *node);
 /** returns true if node is a Load node. */
 int      is_Load(const ir_node *node);
+/** returns true if node is a Store node. */
+int      is_Store(const ir_node *node);
 /** returns true if node is a Sync node. */
 int      is_Sync(const ir_node *node);
 /** returns true if node is a Confirm node. */
@@ -1165,6 +1172,8 @@ int      is_Pin(const ir_node *node);
 int      is_SymConst(const ir_node *node);
 /** returns true if node is a Cond node. */
 int      is_Cond(const ir_node *node);
+/** returns true of node is a CopyB node */
+int      is_CopyB(const ir_node *node);
 /** returns true if node is a Cmp node. */
 int      is_Cmp(const ir_node *node);
 /** returns true if node is an Alloc node */