Removed the arch_register_type_is() macro.
[libfirm] / include / libfirm / ircons.h
index b98030f..64e9706 100644 (file)
  *    ir_node *new_IJmp     (ir_node *tgt);
  *    ir_node *new_Cond     (ir_node *c);
  *    ir_node *new_Return   (ir_node *store, int arity, ir_node **in);
- *    ir_node *new_Const    (tarval *con);
+ *    ir_node *new_Const    (ir_tarval *con);
  *    ir_node *new_SymConst (ir_mode *mode, symconst_symbol value, symconst_kind kind);
  *    ir_node *new_simpleSel (ir_node *store, ir_node *objptr, ir_entity *ent);
  *    ir_node *new_Sel    (ir_node *store, ir_node *objptr, int arity,
  *      Control flow to the end block.
  *
  *
- *    ir_node *new_Const (tarval *con)
+ *    ir_node *new_Const (ir_tarval *con)
  *    -----------------------------------------------
  *
  *    Creates a constant in the constant table and adds a Const node
@@ -1127,6 +1127,7 @@ typedef enum ir_cons_flags {
        cons_unaligned = 1U << 1,  /**< Memory operation is unaligned. */
        cons_floats    = 1U << 2   /**< Memory operation can float. */
 } ir_cons_flags;
+ENUM_BITSET(ir_cons_flags)
 
 /*-------------------------------------------------------------------------*/
 /* The raw interface                                                       */
@@ -1156,7 +1157,7 @@ FIRM_API ir_node *new_rd_Start(dbg_info *db, ir_graph *irg);
  * @param *db    A pointer for  debug information.
  * @param *irg   The IR graph the node  belongs to.
  */
-FIRM_API ir_node *new_rd_End(dbg_info *db, ir_graph *irg);
+FIRM_API ir_node *new_rd_End(dbg_info *db, ir_graph *irg, int arity, ir_node *in[]);
 
 /** Constructor for a Jmp node.
  *
@@ -1220,7 +1221,7 @@ FIRM_API ir_node *new_rd_Return(dbg_info *db, ir_node *block,
  * @param *irg   The IR graph the node  belongs to.
  * @param *con   Points to an entry in the constant table.
  */
-FIRM_API ir_node *new_rd_Const(dbg_info *db, ir_graph *irg, tarval *con);
+FIRM_API ir_node *new_rd_Const(dbg_info *db, ir_graph *irg, ir_tarval *con);
 
 /**
  * Constructor for a Const node.
@@ -1805,6 +1806,13 @@ FIRM_API ir_node *new_rd_Tuple(dbg_info *db, ir_node *block,
 FIRM_API ir_node *new_rd_Id(dbg_info *db, ir_node *block,
                             ir_node *val, ir_mode *mode);
 
+/** Constructor for a Bad node.
+ *
+ * @param *db     A pointer for debug information.
+ * @param *irg    The IR graph the node  belongs to.
+ */
+FIRM_API ir_node *new_rd_Bad(dbg_info *db, ir_graph *irg);
+
 /** Constructor for a Confirm node.
  *
  * Specifies constraints for a value.  To support dataflow analyses.
@@ -1831,6 +1839,13 @@ FIRM_API ir_node *new_rd_Confirm(dbg_info *db, ir_node *block,
  */
 FIRM_API ir_node *new_rd_Unknown(dbg_info *db, ir_graph *irg, ir_mode *m);
 
+/** Constructor for a NoMem node.
+ *
+ * @param *db     A pointer for debug information.
+ * @param *irg    The IR graph the node belongs to.
+ */
+FIRM_API ir_node *new_rd_NoMem(dbg_info *db, ir_graph *irg);
+
 /** Constructor for a Mux node.
  *
  * @param *db       A pointer for debug information.
@@ -1947,7 +1962,7 @@ FIRM_API ir_node *new_r_Block(ir_graph *irg, int arity, ir_node *in[]);
 FIRM_API ir_node *new_r_Start(ir_graph *irg);
 
 /** Constructor for a End node. */
-FIRM_API ir_node *new_r_End(ir_graph *irg);
+FIRM_API ir_node *new_r_End(ir_graph *irg, int arity, ir_node *in[]);
 
 /** Constructor for a Jmp node.
  *
@@ -2006,7 +2021,7 @@ FIRM_API ir_node *new_r_Return(ir_node *block, ir_node *store,
  * @param *irg   The IR graph the node  belongs to.
  * @param *con   Points to an entry in the constant table.
  */
-FIRM_API ir_node *new_r_Const(ir_graph *irg, tarval *con);
+FIRM_API ir_node *new_r_Const(ir_graph *irg, ir_tarval *con);
 
 /** Constructor for a Const node.
  *
@@ -2496,9 +2511,6 @@ FIRM_API ir_node *new_r_Tuple(ir_node *block, int arity, ir_node *in[]);
 FIRM_API ir_node *new_r_Id(ir_node *block, ir_node *val, ir_mode *mode);
 
 /** Constructor for a Bad node.
- *
- * Returns the unique Bad node of the graph.  The same as
- * get_irg_bad().
  *
  * @param *irg    The IR graph the node  belongs to.
  */
@@ -2530,9 +2542,6 @@ FIRM_API ir_node *new_r_Confirm(ir_node *block, ir_node *val, ir_node *bound,
 FIRM_API ir_node *new_r_Unknown(ir_graph *irg, ir_mode *m);
 
 /** Constructor for a NoMem node.
- *
- * Returns the unique NoMem node of the graph.  The same as
- * get_irg_no_mem().
  *
  * @param *irg    The IR graph the node belongs to.
  */
@@ -2662,7 +2671,7 @@ FIRM_API ir_node *new_d_Start(dbg_info *db);
  *
  * @param *db     A pointer for debug information.
  */
-FIRM_API ir_node *new_d_End(dbg_info *db);
+FIRM_API ir_node *new_d_End(dbg_info *db, int arity, ir_node *in[]);
 
 /** Constructor for a Jmp node.
  *
@@ -2728,7 +2737,7 @@ FIRM_API ir_node *new_d_Return(dbg_info *db, ir_node *store,
  * @param *con   Points to an entry in the constant table. This pointer is added
  *               to the attributes of the node.
  */
-FIRM_API ir_node *new_d_Const(dbg_info *db, tarval *con);
+FIRM_API ir_node *new_d_Const(dbg_info *db, ir_tarval *con);
 
 /**
  * @see new_rd_Const_long()
@@ -3267,6 +3276,12 @@ FIRM_API ir_node *new_d_Tuple(dbg_info *db, int arity, ir_node *in[]);
  */
 FIRM_API ir_node *new_d_Id(dbg_info *db, ir_node *val, ir_mode *mode);
 
+/** Constructor for a Bad node.
+ *
+ * @param *db     A pointer for debug information.
+ */
+FIRM_API ir_node *new_d_Bad(dbg_info *db);
+
 /** Constructor for a Confirm node.
  *
  * Constructor for a Confirm node. Adds the node to the block in current_ir_block.
@@ -3293,6 +3308,12 @@ FIRM_API ir_node *new_d_Confirm(dbg_info *db, ir_node *val, ir_node *bound,
  */
 FIRM_API ir_node *new_d_Unknown(dbg_info *db, ir_mode *m);
 
+/** Constructor for a NoMem node.
+ *
+ * @param *db     A pointer for debug information.
+ */
+FIRM_API ir_node *new_d_NoMem(dbg_info *db);
+
 /** Constructor for a Mux node.
  *
  * @param *db       A pointer for debug information.
@@ -3401,7 +3422,7 @@ FIRM_API ir_node *new_Start(void);
  *
  * Adds the node to the block in current_ir_block.
  */
-FIRM_API ir_node *new_End(void);
+FIRM_API ir_node *new_End(int arity, ir_node *in[]);
 
 /** Constructor for a Jump node.
  *
@@ -3456,7 +3477,7 @@ FIRM_API ir_node *new_Return(ir_node *store, int arity, ir_node *in[]);
  * @param *con   Points to an entry in the constant table. This pointer is
  *               added to the attributes of  the node.
  */
-FIRM_API ir_node *new_Const(tarval *con);
+FIRM_API ir_node *new_Const(ir_tarval *con);
 
 /**
  * Make a const from a long.
@@ -3929,9 +3950,6 @@ FIRM_API ir_node *new_Tuple(int arity, ir_node *in[]);
 FIRM_API ir_node *new_Id(ir_node *val, ir_mode *mode);
 
 /** Constructor for a Bad node.
- *
- * Returns the unique Bad node of the graph.  The same as
- * get_irg_bad().
  */
 FIRM_API ir_node *new_Bad(void);
 
@@ -3958,11 +3976,7 @@ FIRM_API ir_node *new_Confirm(ir_node *val, ir_node *bound, pn_Cmp cmp);
  */
 FIRM_API ir_node *new_Unknown(ir_mode *m);
 
-/** Constructor for a NoMem node.
- *
- * Returns the unique NoMem node of the graph.  The same as
- * get_irg_no_mem().
- */
+/** Constructor for a NoMem node. */
 FIRM_API ir_node *new_NoMem(void);
 
 /** Constructor for a Mux node.