-/* --------------------------------------------- */
-/* private interfaces, for professional use only */
-/* --------------------------------------------- */
-
-/* Constructs a Block with a fixed number of predecessors.
- Does not set current_block. Can not be used with automatic
- Phi node construction. */
-ir_node *
-new_rd_Block (dbg_info *db, ir_graph *irg, int arity, ir_node **in)
-{
- ir_graph *rem = current_ir_graph;
- ir_node *res;
-
- current_ir_graph = irg;
- res = new_bd_Block (db, arity, in);
- current_ir_graph = rem;
-
- return res;
-}
-
-ir_node *
-new_rd_Start (dbg_info *db, ir_graph *irg, ir_node *block)
-{
- ir_graph *rem = current_ir_graph;
- ir_node *res;
-
- current_ir_graph = irg;
- res = new_bd_Start (db, block);
- current_ir_graph = rem;
-
- return res;
-}
-
-ir_node *
-new_rd_End (dbg_info *db, ir_graph *irg, ir_node *block)
-{
- ir_node *res;
- ir_graph *rem = current_ir_graph;
-
- current_ir_graph = rem;
- res = new_bd_End (db, block);
- current_ir_graph = rem;
-
- return res;
-}
-
-/* Creates a Phi node with all predecessors. Calling this constructor
- is only allowed if the corresponding block is mature. */
-ir_node *
-new_rd_Phi (dbg_info *db, ir_graph *irg, ir_node *block, int arity, ir_node **in, ir_mode *mode)
-{
- ir_node *res;
- ir_graph *rem = current_ir_graph;
-
- current_ir_graph = irg;
- res = new_bd_Phi (db, block,arity, in, mode);
- current_ir_graph = rem;
-
- return res;
-}
-
-ir_node *
-new_rd_Const_type (dbg_info *db, ir_graph *irg, ir_node *block, ir_mode *mode, tarval *con, ir_type *tp)
-{
- ir_node *res;
- ir_graph *rem = current_ir_graph;
-
- current_ir_graph = irg;
- res = new_bd_Const_type (db, block, mode, con, tp);
- current_ir_graph = rem;
-
- return res;
-}
-
-ir_node *
-new_rd_Const (dbg_info *db, ir_graph *irg, ir_node *block, ir_mode *mode, tarval *con)
-{
- ir_node *res;
- ir_graph *rem = current_ir_graph;
-
- current_ir_graph = irg;
- res = new_bd_Const_type (db, block, mode, con, firm_unknown_type);
- current_ir_graph = rem;
-
- return res;
-}
-
-ir_node *
-new_rd_Const_long (dbg_info *db, ir_graph *irg, ir_node *block, ir_mode *mode, long value)
-{
- return new_rd_Const(db, irg, block, mode, new_tarval_from_long(value, mode));
-}
-
-ir_node *
-new_rd_Id (dbg_info *db, ir_graph *irg, ir_node *block, ir_node *val, ir_mode *mode)
-{
- ir_node *res;
- ir_graph *rem = current_ir_graph;
-
- current_ir_graph = irg;
- res = new_bd_Id(db, block, val, mode);
- current_ir_graph = rem;
-
- return res;
-}
-
-ir_node *
-new_rd_Proj (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_Proj(db, block, arg, mode, proj);
- current_ir_graph = rem;
-
- return res;
-}
-
-ir_node *
-new_rd_defaultProj (dbg_info *db, ir_graph *irg, ir_node *block, ir_node *arg,
- long max_proj)
-{
- ir_node *res;
- ir_graph *rem = current_ir_graph;
-
- current_ir_graph = irg;
- res = new_bd_defaultProj(db, block, arg, max_proj);
- current_ir_graph = rem;
-
- return res;
-}
-
-ir_node *
-new_rd_Conv (dbg_info *db, ir_graph *irg, ir_node *block, ir_node *op, ir_mode *mode)
-{
- ir_node *res;
- ir_graph *rem = current_ir_graph;
-
- current_ir_graph = irg;
- res = new_bd_Conv(db, block, op, mode);
- current_ir_graph = rem;
-
- return res;
-}
-
-ir_node *
-new_rd_Cast (dbg_info *db, ir_graph *irg, ir_node *block, ir_node *op, ir_type *to_tp)
-{
- ir_node *res;
- ir_graph *rem = current_ir_graph;
-
- current_ir_graph = irg;
- res = new_bd_Cast(db, block, op, to_tp);
- current_ir_graph = rem;
-
- return res;
-}
-
-ir_node *
-new_rd_Tuple (dbg_info *db, ir_graph *irg, ir_node *block, int arity, ir_node **in)
-{
- ir_node *res;
- ir_graph *rem = current_ir_graph;
-
- current_ir_graph = irg;
- res = new_bd_Tuple(db, block, arity, in);
- current_ir_graph = rem;
-
- return res;
-}
-
-ir_node *
-new_rd_Add (dbg_info *db, ir_graph *irg, ir_node *block,
- ir_node *op1, ir_node *op2, ir_mode *mode)