+new_rd_SymConst(dbg_info *db, ir_graph *irg, ir_node *block, ir_mode *mode,
+ symconst_symbol value, symconst_kind symkind) {
+ return new_rd_SymConst_type(db, irg, block, mode, value, symkind, firm_unknown_type);
+} /* new_rd_SymConst */
+
+ ir_node *new_rd_SymConst_addr_ent(dbg_info *db, ir_graph *irg, ir_mode *mode, ir_entity *symbol, ir_type *tp) {
+ symconst_symbol sym;
+ sym.entity_p = symbol;
+ return new_rd_SymConst_type(db, irg, get_irg_start_block(irg), mode, sym, symconst_addr_ent, tp);
+} /* new_rd_SymConst_addr_ent */
+
+ir_node *new_rd_SymConst_ofs_ent(dbg_info *db, ir_graph *irg, ir_mode *mode, ir_entity *symbol, ir_type *tp) {
+ symconst_symbol sym;
+ sym.entity_p = symbol;
+ return new_rd_SymConst_type(db, irg, get_irg_start_block(irg), mode, sym, symconst_ofs_ent, tp);
+} /* new_rd_SymConst_ofs_ent */
+
+ir_node *new_rd_SymConst_addr_name(dbg_info *db, ir_graph *irg, ir_mode *mode, ident *symbol, ir_type *tp) {
+ symconst_symbol sym;
+ sym.ident_p = symbol;
+ return new_rd_SymConst_type(db, irg, get_irg_start_block(irg), mode, sym, symconst_addr_name, tp);
+} /* new_rd_SymConst_addr_name */
+
+ir_node *new_rd_SymConst_type_tag(dbg_info *db, ir_graph *irg, ir_mode *mode, ir_type *symbol, ir_type *tp) {
+ symconst_symbol sym;
+ sym.type_p = symbol;
+ return new_rd_SymConst_type(db, irg, get_irg_start_block(irg), mode, sym, symconst_type_tag, tp);
+} /* new_rd_SymConst_type_tag */
+
+ir_node *new_rd_SymConst_size(dbg_info *db, ir_graph *irg, ir_mode *mode, ir_type *symbol, ir_type *tp) {
+ symconst_symbol sym;
+ sym.type_p = symbol;
+ return new_rd_SymConst_type(db, irg, get_irg_start_block(irg), mode, sym, symconst_type_size, tp);
+} /* new_rd_SymConst_size */
+
+ir_node *new_rd_SymConst_align(dbg_info *db, ir_graph *irg, ir_mode *mode, ir_type *symbol, ir_type *tp) {
+ symconst_symbol sym;
+ sym.type_p = symbol;
+ return new_rd_SymConst_type(db, irg, get_irg_start_block(irg), mode, sym, symconst_type_align, tp);
+} /* new_rd_SymConst_align */
+
+ir_node *
+new_rd_Sync(dbg_info *db, ir_graph *irg, ir_node *block, int arity, ir_node *in[]) {
+ ir_node *res;
+ ir_graph *rem = current_ir_graph;
+ int i;
+
+ current_ir_graph = irg;
+ res = new_bd_Sync(db, block);
+ current_ir_graph = rem;
+
+ for (i = 0; i < arity; ++i)
+ add_Sync_pred(res, in[i]);
+
+ return res;
+} /* new_rd_Sync */
+
+#ifdef USE_ORIGINAL
+ir_node *
+new_rd_Confirm(dbg_info *db, ir_graph *irg, ir_node *block, ir_node *val, ir_node *bound, pn_Cmp cmp) {
+ ir_node *res;
+ ir_graph *rem = current_ir_graph;
+
+ current_ir_graph = irg;
+ res = new_bd_Confirm(db, block, val, bound, cmp);
+ current_ir_graph = rem;
+
+ return res;
+} /* new_rd_Confirm */
+
+ir_node *
+new_rd_Unknown(ir_graph *irg, ir_mode *m) {
+ ir_node *res;
+ ir_graph *rem = current_ir_graph;
+
+ current_ir_graph = irg;
+ res = new_bd_Unknown(m);
+ current_ir_graph = rem;
+
+ return res;
+} /* new_rd_Unknown */
+#endif
+
+ir_node *
+new_rd_CallBegin(dbg_info *db, ir_graph *irg, ir_node *block, ir_node *call) {
+ ir_node *res;
+ ir_graph *rem = current_ir_graph;
+
+ current_ir_graph = irg;
+ res = new_bd_CallBegin(db, block, call);
+ current_ir_graph = rem;
+
+ return res;
+} /* new_rd_CallBegin */
+
+ir_node *
+new_rd_EndReg(dbg_info *db, ir_graph *irg, ir_node *block) {
+ ir_node *res;
+
+ res = new_ir_node(db, irg, block, op_EndReg, mode_T, -1, NULL);
+ set_irg_end_reg(irg, res);
+ IRN_VRFY_IRG(res, irg);
+ return res;
+} /* new_rd_EndReg */
+
+ir_node *
+new_rd_EndExcept(dbg_info *db, ir_graph *irg, ir_node *block) {
+ ir_node *res;
+
+ res = new_ir_node(db, irg, block, op_EndExcept, mode_T, -1, NULL);
+ set_irg_end_except(irg, res);
+ IRN_VRFY_IRG (res, irg);
+ return res;
+} /* new_rd_EndExcept */
+
+ir_node *
+new_rd_Break(dbg_info *db, ir_graph *irg, ir_node *block) {
+ ir_node *res;
+ ir_graph *rem = current_ir_graph;
+
+ current_ir_graph = irg;
+ res = new_bd_Break(db, block);
+ current_ir_graph = rem;
+
+ return res;
+} /* new_rd_Break */
+
+ir_node *
+new_rd_Filter(dbg_info *db, ir_graph *irg, ir_node *block, ir_node *arg, ir_mode *mode,
+ long proj) {
+ ir_node *res;
+ ir_graph *rem = current_ir_graph;
+
+ current_ir_graph = irg;
+ res = new_bd_Filter(db, block, arg, mode, proj);
+ current_ir_graph = rem;
+
+ return res;
+} /* new_rd_Filter */
+
+#ifdef USE_ORIGINAL
+ir_node *
+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) {
+ ir_node *res;
+ ir_graph *rem = current_ir_graph;
+
+ current_ir_graph = irg;
+ res = new_bd_Mux(db, block, sel, ir_false, ir_true, mode);
+ current_ir_graph = rem;
+
+ return res;
+} /* new_rd_Mux */
+#endif
+
+ir_node *new_rd_CopyB(dbg_info *db, ir_graph *irg, ir_node *block,
+ ir_node *store, ir_node *dst, ir_node *src, ir_type *data_type) {
+ ir_node *res;
+ ir_graph *rem = current_ir_graph;
+
+ current_ir_graph = irg;
+ res = new_bd_CopyB(db, block, store, dst, src, data_type);
+ current_ir_graph = rem;
+
+ return res;
+} /* new_rd_CopyB */
+
+ir_node *
+new_rd_InstOf(dbg_info *db, ir_graph *irg, ir_node *block, ir_node *store,
+ ir_node *objptr, ir_type *type) {
+ ir_node *res;
+ ir_graph *rem = current_ir_graph;
+
+ current_ir_graph = irg;
+ res = new_bd_InstOf(db, block, store, objptr, type);
+ current_ir_graph = rem;
+
+ return res;
+} /* new_rd_InstOf */
+
+ir_node *
+new_rd_Raise(dbg_info *db, ir_graph *irg, ir_node *block, ir_node *store, ir_node *obj) {
+ ir_node *res;
+ ir_graph *rem = current_ir_graph;
+
+ current_ir_graph = irg;
+ res = new_bd_Raise(db, block, store, obj);
+ current_ir_graph = rem;
+
+ return res;
+} /* new_rd_Raise */
+
+ir_node *new_rd_Bound(dbg_info *db, ir_graph *irg, ir_node *block,
+ ir_node *store, ir_node *idx, ir_node *lower, ir_node *upper) {
+ ir_node *res;
+ ir_graph *rem = current_ir_graph;
+
+ current_ir_graph = irg;
+ res = new_bd_Bound(db, block, store, idx, lower, upper);
+ current_ir_graph = rem;
+
+ return res;
+} /* new_rd_Bound */
+
+#ifdef USE_ORIGINAL
+ir_node *new_rd_Pin(dbg_info *db, ir_graph *irg, ir_node *block, ir_node *node) {
+ ir_node *res;
+ ir_graph *rem = current_ir_graph;
+
+ current_ir_graph = irg;
+ res = new_bd_Pin(db, block, node);
+ current_ir_graph = rem;
+
+ return res;
+} /* new_rd_Pin */
+#endif
+
+ir_node *new_rd_ASM(dbg_info *db, ir_graph *irg, ir_node *block,
+ int arity, ir_node *in[], ir_asm_constraint *inputs,
+ int n_outs, ir_asm_constraint *outputs,
+ int n_clobber, ident *clobber[], ident *asm_text) {
+ ir_node *res;
+ ir_graph *rem = current_ir_graph;
+
+ current_ir_graph = irg;
+ res = new_bd_ASM(db, block, arity, in, inputs, n_outs, outputs, n_clobber, clobber, asm_text);
+ current_ir_graph = rem;
+
+ return res;
+} /* new_rd_ASM */
+
+
+#ifdef USE_ORIGINAL
+ir_node *new_r_Block(ir_graph *irg, int arity, ir_node **in) {
+ return new_rd_Block(NULL, irg, arity, in);
+}
+ir_node *new_r_Start(ir_graph *irg, ir_node *block) {
+ return new_rd_Start(NULL, irg, block);
+}
+ir_node *new_r_End(ir_graph *irg, ir_node *block) {
+ return new_rd_End(NULL, irg, block);
+}
+ir_node *new_r_Jmp(ir_graph *irg, ir_node *block) {
+ return new_rd_Jmp(NULL, irg, block);
+}
+ir_node *new_r_IJmp(ir_graph *irg, ir_node *block, ir_node *tgt) {
+ return new_rd_IJmp(NULL, irg, block, tgt);
+}
+ir_node *new_r_Cond(ir_graph *irg, ir_node *block, ir_node *c) {
+ return new_rd_Cond(NULL, irg, block, c);
+}
+ir_node *new_r_Return(ir_graph *irg, ir_node *block,
+ ir_node *store, int arity, ir_node **in) {
+ return new_rd_Return(NULL, irg, block, store, arity, in);
+}
+#endif
+ir_node *new_r_Const(ir_graph *irg, tarval *con) {
+ return new_rd_Const(NULL, irg, con);
+}
+ir_node *new_r_Const_long(ir_graph *irg, ir_mode *mode, long value) {
+ return new_rd_Const_long(NULL, irg, mode, value);
+}
+ir_node *new_r_Const_type(ir_graph *irg, tarval *con, ir_type *tp) {
+ return new_rd_Const_type(NULL, irg, con, tp);
+}
+ir_node *new_r_SymConst(ir_graph *irg, ir_node *block, ir_mode *mode,
+ symconst_symbol value, symconst_kind symkind) {
+ return new_rd_SymConst(NULL, irg, block, mode, value, symkind);
+}
+ir_node *new_r_simpleSel(ir_graph *irg, ir_node *block, ir_node *store,
+ ir_node *objptr, ir_entity *ent) {
+ return new_rd_Sel(NULL, irg, block, store, objptr, 0, NULL, ent);
+}
+#ifdef USE_ORIGINAL
+ir_node *new_r_Sel(ir_graph *irg, ir_node *block, ir_node *store,
+ ir_node *objptr, int n_index, ir_node **index,
+ ir_entity *ent) {
+ return new_rd_Sel(NULL, irg, block, store, objptr, n_index, index, ent);
+}
+#endif
+ir_node *new_r_Call(ir_graph *irg, ir_node *block, ir_node *store,
+ ir_node *callee, int arity, ir_node **in,
+ ir_type *tp) {
+ return new_rd_Call(NULL, irg, block, store, callee, arity, in, tp);
+}
+ir_node *new_r_Builtin(ir_graph *irg, ir_node *block, ir_node *store,
+ ir_builtin_kind kind, int arity, ir_node **in,
+ ir_type *tp) {
+ return new_rd_Builtin(NULL, irg, block, store, kind, arity, in, tp);
+}
+#ifdef USE_ORIGINAL
+ir_node *new_r_Add(ir_graph *irg, ir_node *block,
+ ir_node *op1, ir_node *op2, ir_mode *mode) {
+ return new_rd_Add(NULL, irg, block, op1, op2, mode);
+}
+ir_node *new_r_Sub(ir_graph *irg, ir_node *block,
+ ir_node *op1, ir_node *op2, ir_mode *mode) {
+ return new_rd_Sub(NULL, irg, block, op1, op2, mode);
+}
+ir_node *new_r_Minus(ir_graph *irg, ir_node *block,
+ ir_node *op, ir_mode *mode) {
+ return new_rd_Minus(NULL, irg, block, op, mode);
+}
+ir_node *new_r_Mul(ir_graph *irg, ir_node *block,
+ ir_node *op1, ir_node *op2, ir_mode *mode) {
+ return new_rd_Mul(NULL, irg, block, op1, op2, mode);
+}
+ir_node *new_r_Mulh(ir_graph *irg, ir_node *block,
+ ir_node *op1, ir_node *op2, ir_mode *mode) {
+ return new_rd_Mulh(NULL, irg, block, op1, op2, mode);
+}
+#endif
+ir_node *new_r_Quot(ir_graph *irg, ir_node *block,
+ ir_node *memop, ir_node *op1, ir_node *op2, ir_mode *mode, op_pin_state state) {
+ return new_rd_Quot(NULL, irg, block, memop, op1, op2, mode, state);
+}
+ir_node *new_r_DivMod(ir_graph *irg, ir_node *block,
+ ir_node *memop, ir_node *op1, ir_node *op2, ir_mode *mode, op_pin_state state) {
+ return new_rd_DivMod(NULL, irg, block, memop, op1, op2, mode, state);
+}
+ir_node *new_r_Div(ir_graph *irg, ir_node *block,
+ ir_node *memop, ir_node *op1, ir_node *op2, ir_mode *mode, op_pin_state state) {
+ return new_rd_Div(NULL, irg, block, memop, op1, op2, mode, state);
+}
+ir_node *new_r_DivRL(ir_graph *irg, ir_node *block,
+ ir_node *memop, ir_node *op1, ir_node *op2, ir_mode *mode, op_pin_state state) {
+ return new_rd_DivRL(NULL, irg, block, memop, op1, op2, mode, state);
+}
+ir_node *new_r_Mod(ir_graph *irg, ir_node *block,
+ ir_node *memop, ir_node *op1, ir_node *op2, ir_mode *mode, op_pin_state state) {
+ return new_rd_Mod(NULL, irg, block, memop, op1, op2, mode, state);
+}
+#ifdef USE_ORIGINAL
+ir_node *new_r_Abs(ir_graph *irg, ir_node *block,
+ ir_node *op, ir_mode *mode) {
+ return new_rd_Abs(NULL, irg, block, op, mode);
+}
+ir_node *new_r_And(ir_graph *irg, ir_node *block,
+ ir_node *op1, ir_node *op2, ir_mode *mode) {
+ return new_rd_And(NULL, irg, block, op1, op2, mode);
+}
+ir_node *new_r_Or(ir_graph *irg, ir_node *block,
+ ir_node *op1, ir_node *op2, ir_mode *mode) {
+ return new_rd_Or(NULL, irg, block, op1, op2, mode);
+}
+ir_node *new_r_Eor(ir_graph *irg, ir_node *block,
+ ir_node *op1, ir_node *op2, ir_mode *mode) {
+ return new_rd_Eor(NULL, irg, block, op1, op2, mode);
+}
+ir_node *new_r_Not(ir_graph *irg, ir_node *block,
+ ir_node *op, ir_mode *mode) {
+ return new_rd_Not(NULL, irg, block, op, mode);
+}
+ir_node *new_r_Shl(ir_graph *irg, ir_node *block,
+ ir_node *op, ir_node *k, ir_mode *mode) {
+ return new_rd_Shl(NULL, irg, block, op, k, mode);
+}
+ir_node *new_r_Shr(ir_graph *irg, ir_node *block,
+ ir_node *op, ir_node *k, ir_mode *mode) {
+ return new_rd_Shr(NULL, irg, block, op, k, mode);
+}
+ir_node *new_r_Shrs(ir_graph *irg, ir_node *block,
+ ir_node *op, ir_node *k, ir_mode *mode) {
+ return new_rd_Shrs(NULL, irg, block, op, k, mode);
+}
+ir_node *new_r_Rotl(ir_graph *irg, ir_node *block,
+ ir_node *op, ir_node *k, ir_mode *mode) {
+ return new_rd_Rotl(NULL, irg, block, op, k, mode);
+}
+ir_node *new_r_Carry(ir_graph *irg, ir_node *block,
+ ir_node *op, ir_node *k, ir_mode *mode) {
+ return new_rd_Carry(NULL, irg, block, op, k, mode);
+}
+ir_node *new_r_Borrow(ir_graph *irg, ir_node *block,
+ ir_node *op, ir_node *k, ir_mode *mode) {
+ return new_rd_Borrow(NULL, irg, block, op, k, mode);
+}
+ir_node *new_r_Cmp(ir_graph *irg, ir_node *block,
+ ir_node *op1, ir_node *op2) {
+ return new_rd_Cmp(NULL, irg, block, op1, op2);
+}
+ir_node *new_r_Conv(ir_graph *irg, ir_node *block,
+ ir_node *op, ir_mode *mode) {
+ return new_rd_Conv(NULL, irg, block, op, mode);
+}
+#endif
+ir_node *new_r_strictConv(ir_graph *irg, ir_node *block,
+ ir_node *op, ir_mode *mode) {
+ return new_rd_strictConv(NULL, irg, block, op, mode);
+}
+ir_node *new_r_Phi(ir_graph *irg, ir_node *block, int arity,
+ ir_node **in, ir_mode *mode) {
+ return new_rd_Phi(NULL, irg, block, arity, in, mode);
+}
+#ifdef USE_ORIGINAL
+ir_node *new_r_Cast(ir_graph *irg, ir_node *block, ir_node *op, ir_type *to_tp) {
+ return new_rd_Cast(NULL, irg, block, op, to_tp);
+}
+ir_node *new_r_Load(ir_graph *irg, ir_node *block,
+ ir_node *store, ir_node *adr, ir_mode *mode, ir_cons_flags flags) {
+ return new_rd_Load(NULL, irg, block, store, adr, mode, flags);
+}
+ir_node *new_r_Store(ir_graph *irg, ir_node *block,
+ ir_node *store, ir_node *adr, ir_node *val, ir_cons_flags flags) {
+ return new_rd_Store(NULL, irg, block, store, adr, val, flags);
+}
+#endif
+ir_node *new_r_Alloc(ir_graph *irg, ir_node *block, ir_node *store,
+ ir_node *size, ir_type *alloc_type, ir_where_alloc where) {
+ return new_rd_Alloc(NULL, irg, block, store, size, alloc_type, where);
+}
+#ifdef USE_ORIGINAL
+ir_node *new_r_Free(ir_graph *irg, ir_node *block, ir_node *store,
+ ir_node *ptr, ir_node *size, ir_type *free_type, ir_where_alloc where) {
+ return new_rd_Free(NULL, irg, block, store, ptr, size, free_type, where);
+}
+#endif
+ir_node *new_r_Sync(ir_graph *irg, ir_node *block, int arity, ir_node *in[]) {
+ return new_rd_Sync(NULL, irg, block, arity, in);
+}
+#ifdef USE_ORIGINAL
+ir_node *new_r_Proj(ir_graph *irg, ir_node *block, ir_node *arg,
+ ir_mode *mode, long proj) {
+ return new_rd_Proj(NULL, irg, block, arg, mode, proj);
+}
+#endif
+ir_node *new_r_defaultProj(ir_graph *irg, ir_node *block, ir_node *arg,
+ long max_proj) {
+ return new_rd_defaultProj(NULL, irg, block, arg, max_proj);
+}
+#ifdef USE_ORIGINAL
+ir_node *new_r_Tuple(ir_graph *irg, ir_node *block,
+ int arity, ir_node **in) {
+ return new_rd_Tuple(NULL, irg, block, arity, in );
+}
+ir_node *new_r_Id(ir_graph *irg, ir_node *block,
+ ir_node *val, ir_mode *mode) {
+ return new_rd_Id(NULL, irg, block, val, mode);
+}
+#endif
+ir_node *new_r_Bad(ir_graph *irg) {
+ return get_irg_bad(irg);
+}
+#ifdef USE_ORIGINAL
+ir_node *new_r_Confirm(ir_graph *irg, ir_node *block, ir_node *val, ir_node *bound, pn_Cmp cmp) {
+ return new_rd_Confirm(NULL, irg, block, val, bound, cmp);
+}
+ir_node *new_r_Unknown(ir_graph *irg, ir_mode *m) {
+ return new_rd_Unknown(irg, m);
+}
+#endif
+ir_node *new_r_CallBegin(ir_graph *irg, ir_node *block, ir_node *callee) {
+ return new_rd_CallBegin(NULL, irg, block, callee);
+}
+ir_node *new_r_EndReg(ir_graph *irg, ir_node *block) {
+ return new_rd_EndReg(NULL, irg, block);
+}
+ir_node *new_r_EndExcept(ir_graph *irg, ir_node *block) {
+ return new_rd_EndExcept(NULL, irg, block);
+}
+ir_node *new_r_Break(ir_graph *irg, ir_node *block) {
+ return new_rd_Break(NULL, irg, block);
+}
+ir_node *new_r_Filter(ir_graph *irg, ir_node *block, ir_node *arg,
+ ir_mode *mode, long proj) {
+ return new_rd_Filter(NULL, irg, block, arg, mode, proj);
+}
+ir_node *new_r_NoMem(ir_graph *irg) {
+ return get_irg_no_mem(irg);
+}
+#ifdef USE_ORIGINAL
+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);
+}
+#endif
+ir_node *new_r_CopyB(ir_graph *irg, ir_node *block,
+ ir_node *store, ir_node *dst, ir_node *src, ir_type *data_type) {
+ return new_rd_CopyB(NULL, irg, block, store, dst, src, data_type);
+}
+ir_node *new_r_InstOf(ir_graph *irg, ir_node *block, ir_node *store, ir_node *objptr,
+ ir_type *type) {
+ return new_rd_InstOf(NULL, irg, block, store, objptr, type);
+}
+ir_node *new_r_Raise(ir_graph *irg, ir_node *block,
+ ir_node *store, ir_node *obj) {
+ return new_rd_Raise(NULL, irg, block, store, obj);
+}
+ir_node *new_r_Bound(ir_graph *irg, ir_node *block,
+ ir_node *store, ir_node *idx, ir_node *lower, ir_node *upper) {
+ return new_rd_Bound(NULL, irg, block, store, idx, lower, upper);
+}
+#ifdef USE_ORIGINAL
+ir_node *new_r_Pin(ir_graph *irg, ir_node *block, ir_node *node) {
+ return new_rd_Pin(NULL, irg, block, node);
+}
+#endif
+ir_node *new_r_ASM(ir_graph *irg, ir_node *block,
+ int arity, ir_node *in[], ir_asm_constraint *inputs,
+ int n_outs, ir_asm_constraint *outputs,
+ int n_clobber, ident *clobber[], ident *asm_text) {
+ return new_rd_ASM(NULL, irg, block, arity, in, inputs, n_outs, outputs, n_clobber, clobber, asm_text);