do not access the ld_name field of entities if it's not set, else
[libfirm] / ir / ir / irnode.h
index c8bc64e..983f71f 100644 (file)
@@ -652,7 +652,8 @@ void     set_Div_mem (ir_node *node, ir_node *mem);
 typedef enum {
   pn_Div_M,           /**< Memory result.    */
   pn_Div_X_except,    /**< Execution result if exception occurred. */
-  pn_Div_res          /**< Result of computation. */
+  pn_Div_res,         /**< Result of computation. */
+  pn_Div_max          /**< number of projections from a Div */
 } pn_Div;  /* Projection numbers for Div. */
 
 ir_node *get_Mod_left (ir_node *node);
@@ -936,6 +937,26 @@ void     set_Mux_false (ir_node *node, ir_node *ir_false);
 ir_node *get_Mux_true  (ir_node *node);
 void     set_Mux_true  (ir_node *node, ir_node *ir_true);
 
+/**
+ * Projection numbers for result of CopyB node: use for Proj nodes!
+ */
+typedef enum {
+  pn_CopyB_M_regular = pn_Call_M_regular, /**< The memory result. */
+  pn_CopyB_X_except  = pn_Call_X_except,  /**< The control flow result branching to the exception handler */
+  pn_CopyB_M_except  = pn_Call_M_except,  /**< The memory result in case the runtime function terminated with
+                 an exception */
+  pn_CopyB_max       = pn_Call_max        /**< number of projections from a CopyB */
+} pn_CopyB;   /* Projection numbers for CopyB. */
+#define pn_CopyB_M pn_CopyB_M_regular
+
+ir_node *get_CopyB_mem (ir_node *node);
+void     set_CopyB_mem (ir_node *node, ir_node *mem);
+ir_node *get_CopyB_dst (ir_node *node);
+void     set_CopyB_dst (ir_node *node, ir_node *dst);
+ir_node *get_CopyB_src (ir_node *node);
+void     set_CopyB_src (ir_node *node, ir_node *src);
+type    *get_CopyB_type(ir_node *node);
+void     set_CopyB_type(ir_node *node, type *data_type);
 
 /*
  *
@@ -998,18 +1019,21 @@ type *get_irn_type(ir_node *n);
 int is_irn_constlike(const ir_node *node);
 
 /**
- * A type for expression conditional jump predications.
+ * A type to express conditional jump predictions.
  */
 typedef enum {
-  COND_JMP_PRED_NONE,        /**< No jump predication. Default. */
+  COND_JMP_PRED_NONE,        /**< No jump prediction. Default. */
   COND_JMP_PRED_TRUE,        /**< The True case is predicted. */
   COND_JMP_PRED_FALSE        /**< The False case is predicted. */
 } cond_jmp_predicate;
 
-/** Returns the conditional jump predication of a Cond node. */
+/** Gets the string representation of the jump prediction .*/
+const char *get_cond_jmp_predicate_name(cond_jmp_predicate pred);
+
+/** Returns the conditional jump prediction of a Cond node. */
 cond_jmp_predicate get_Cond_jmp_pred(ir_node *cond);
 
-/** Sets a new conditional jump predication. */
+/** Sets a new conditional jump prediction. */
 void set_Cond_jmp_pred(ir_node *cond, cond_jmp_predicate pred);
 
 /**