* 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
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 */
* @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.
*
* @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.
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.
*/
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.
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.
*
* @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.
*
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.
*/
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.
*/
*
* @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.
*
* @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()
*/
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.
*/
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.
*
* 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.
*
* @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.
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);
*/
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.