INLINE ir_node *
new_rd_Const (dbg_info* db, ir_graph *irg, ir_node *block, ir_mode *mode, tarval *con)
{
- type *tp = unknown_type;
+ type *tp = firm_unknown_type;
/* removing this somehow causes errors in jack. */
return new_rd_Const_type (db, irg, block, mode, con, tp);
}
new_rd_SymConst (dbg_info* db, ir_graph *irg, ir_node *block, symconst_symbol value,
symconst_kind symkind)
{
- ir_node *res = new_rd_SymConst_type(db, irg, block, value, symkind, unknown_type);
+ ir_node *res = new_rd_SymConst_type(db, irg, block, value, symkind, firm_unknown_type);
return res;
}
res = optimize_node(res);
IRN_VRFY_IRG(res, irg);
return res;
+}
+INLINE ir_node *
+new_rd_NoMem (ir_graph *irg) {
+ return irg->no_mem;
}
INLINE ir_node *
-new_rd_NoMem (ir_graph *irg)
+new_rd_Mux (dbg_info *db, ir_graph *irg, ir_node *block,
+ ir_node *sel, ir_node *ir_false, ir_node *ir_true, ir_mode *mode)
{
- return irg->no_mem;
+ ir_node *in[3];
+ ir_node *res;
+
+ in[0] = sel;
+ in[1] = ir_false;
+ in[2] = ir_true;
+
+ res = new_ir_node(db, irg, block, op_Mux, mode, 3, in);
+ assert(res);
+
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
+ return res;
}
INLINE ir_node *new_r_NoMem (ir_graph *irg) {
return new_rd_NoMem(irg);
}
+INLINE ir_node *new_r_Mux (ir_graph *irg, ir_node *block,
+ ir_node *sel, ir_node *ir_false, ir_node *ir_true, ir_mode *mode) {
+ return new_rd_Mux(NULL, irg, block, sel, ir_false, ir_true, mode);
+}
/** ********************/
return __new_d_NoMem();
}
+ir_node *
+new_d_Mux (dbg_info *db, ir_node *sel, ir_node *ir_false,
+ ir_node *ir_true, ir_mode *mode) {
+ return new_rd_Mux (db, current_ir_graph, current_ir_graph->current_block,
+ sel, ir_false, ir_true, mode);
+}
+
/* ********************************************************************* */
/* Comfortable interface with automatic Phi node construction. */
/* (Uses also constructors of ?? interface, except new_Block. */
ir_node *new_NoMem (void) {
return new_d_NoMem();
}
+ir_node *new_Mux (ir_node *sel, ir_node *ir_false, ir_node *ir_true, ir_mode *mode) {
+ return new_d_Mux(NULL, sel, ir_false, ir_true, mode);
+}