# include "irgraph_t.h"
# include "irnode_t.h"
# include "irmode_t.h"
-# include "ircons.h"
+# include "ircons_t.h"
# include "firm_common_t.h"
# include "irvrfy.h"
# include "irop_t.h"
typedef struct Phi_in_stack Phi_in_stack;
#endif
+/* when we need verifying */
+#ifdef NDEBUG
+# define IRN_VRFY_IRG(res, irg)
+#else
+# define IRN_VRFY_IRG(res, irg) irn_vrfy_irg(res, irg)
+#endif
+
/*
* language dependant initialization variable
*/
res->attr.block.in_cg = NULL;
res->attr.block.cg_backedge = NULL;
- irn_vrfy_irg (res, irg);
+ IRN_VRFY_IRG(res, irg);
return res;
}
{
ir_node *res;
- res = new_ir_node (db, irg, block, op_Start, mode_T, 0, NULL);
+ res = new_ir_node(db, irg, block, op_Start, mode_T, 0, NULL);
/* res->attr.start.irg = irg; */
- irn_vrfy_irg (res, irg);
+ IRN_VRFY_IRG(res, irg);
return res;
}
{
ir_node *res;
- res = new_ir_node (db, irg, block, op_End, mode_X, -1, NULL);
+ res = new_ir_node(db, irg, block, op_End, mode_X, -1, NULL);
- irn_vrfy_irg (res, irg);
+ IRN_VRFY_IRG(res, irg);
return res;
}
if ( get_Block_matured(block) )
assert( get_irn_arity(block) == arity );
- res = new_ir_node (db, irg, block, op_Phi, mode, arity, in);
+ res = new_ir_node(db, irg, block, op_Phi, mode, arity, in);
res->attr.phi_backedge = new_backedge_arr(irg->obst, arity);
}
if (!has_unknown) res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ IRN_VRFY_IRG(res, irg);
/* Memory Phis in endless loops must be kept alive.
As we can't distinguish these easily we keep all of them alive. */
new_rd_Const_type (dbg_info* db, ir_graph *irg, ir_node *block, ir_mode *mode, tarval *con, type *tp)
{
ir_node *res;
+
res = new_ir_node (db, irg, irg->start_block, op_Const, mode, 0, NULL);
res->attr.con.tv = con;
set_Const_type(res, tp); /* Call method because of complex assertion. */
res = optimize_node (res);
assert(get_Const_type(res) == tp);
- irn_vrfy_irg (res, irg);
+ IRN_VRFY_IRG(res, irg);
return res;
}
INLINE ir_node *
new_rd_Id (dbg_info* db, ir_graph *irg, ir_node *block, ir_node *val, ir_mode *mode)
{
- ir_node *in[1];
ir_node *res;
- in[0]=val;
- res = new_ir_node (db, irg, block, op_Id, mode, 1, in);
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+
+ res = new_ir_node(db, irg, block, op_Id, mode, 1, &val);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
new_rd_Proj (dbg_info* db, ir_graph *irg, ir_node *block, ir_node *arg, ir_mode *mode,
long proj)
{
- ir_node *in[1];
ir_node *res;
- in[0]=arg;
- res = new_ir_node (db, irg, block, op_Proj, mode, 1, in);
+
+ res = new_ir_node (db, irg, block, op_Proj, mode, 1, &arg);
res->attr.proj = proj;
assert(res);
assert(get_Proj_pred(res));
assert(get_nodes_Block(get_Proj_pred(res)));
- res = optimize_node (res);
+ res = optimize_node(res);
- irn_vrfy_irg (res, irg);
+ IRN_VRFY_IRG(res, irg);
return res;
}
INLINE ir_node *
new_rd_Conv (dbg_info* db, ir_graph *irg, ir_node *block, ir_node *op, ir_mode *mode)
{
- ir_node *in[1];
ir_node *res;
- in[0]=op;
- res = new_ir_node (db, irg, block, op_Conv, mode, 1, in);
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+
+ res = new_ir_node(db, irg, block, op_Conv, mode, 1, &op);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
new_rd_Cast (dbg_info* db, ir_graph *irg, ir_node *block, ir_node *op, type *to_tp)
{
ir_node *res;
- res = new_ir_node (db, irg, block, op_Cast, get_irn_mode(op), 1, &op);
+
+ res = new_ir_node(db, irg, block, op_Cast, get_irn_mode(op), 1, &op);
res->attr.cast.totype = to_tp;
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
{
ir_node *res;
- res = new_ir_node (db, irg, block, op_Tuple, mode_T, arity, in);
+ res = new_ir_node(db, irg, block, op_Tuple, mode_T, arity, in);
res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ IRN_VRFY_IRG(res, irg);
return res;
}
{
ir_node *in[2];
ir_node *res;
+
in[0] = op1;
in[1] = op2;
- res = new_ir_node (db, irg, block, op_Add, mode, 2, in);
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ res = new_ir_node(db, irg, block, op_Add, mode, 2, in);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
{
ir_node *in[2];
ir_node *res;
+
in[0] = op1;
in[1] = op2;
res = new_ir_node (db, irg, block, op_Sub, mode, 2, in);
res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ IRN_VRFY_IRG(res, irg);
return res;
}
INLINE ir_node *
new_rd_Minus (dbg_info* db, ir_graph *irg, ir_node *block,
- ir_node *op, ir_mode *mode)
+ ir_node *op, ir_mode *mode)
{
- ir_node *in[1];
ir_node *res;
- in[0]=op;
- res = new_ir_node (db, irg, block, op_Minus, mode, 1, in);
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+
+ res = new_ir_node(db, irg, block, op_Minus, mode, 1, &op);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
{
ir_node *in[2];
ir_node *res;
+
in[0] = op1;
in[1] = op2;
- res = new_ir_node (db, irg, block, op_Mul, mode, 2, in);
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ res = new_ir_node(db, irg, block, op_Mul, mode, 2, in);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
new_rd_Quot (dbg_info* db, ir_graph *irg, ir_node *block,
ir_node *memop, ir_node *op1, ir_node *op2)
{
- ir_node *in[3] ;
+ ir_node *in[3];
ir_node *res;
+
in[0] = memop;
in[1] = op1;
in[2] = op2;
- res = new_ir_node (db, irg, block, op_Quot, mode_T, 3, in);
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ res = new_ir_node(db, irg, block, op_Quot, mode_T, 3, in);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
{
ir_node *in[3];
ir_node *res;
+
in[0] = memop;
in[1] = op1;
in[2] = op2;
- res = new_ir_node (db, irg, block, op_DivMod, mode_T, 3, in);
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ res = new_ir_node(db, irg, block, op_DivMod, mode_T, 3, in);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
{
ir_node *in[3];
ir_node *res;
+
in[0] = memop;
in[1] = op1;
in[2] = op2;
- res = new_ir_node (db, irg, block, op_Div, mode_T, 3, in);
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ res = new_ir_node(db, irg, block, op_Div, mode_T, 3, in);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
{
ir_node *in[3];
ir_node *res;
+
in[0] = memop;
in[1] = op1;
in[2] = op2;
- res = new_ir_node (db, irg, block, op_Mod, mode_T, 3, in);
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ res = new_ir_node(db, irg, block, op_Mod, mode_T, 3, in);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
{
ir_node *in[2];
ir_node *res;
+
in[0] = op1;
in[1] = op2;
- res = new_ir_node (db, irg, block, op_And, mode, 2, in);
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ res = new_ir_node(db, irg, block, op_And, mode, 2, in);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
{
ir_node *in[2];
ir_node *res;
+
in[0] = op1;
in[1] = op2;
- res = new_ir_node (db, irg, block, op_Or, mode, 2, in);
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ res = new_ir_node(db, irg, block, op_Or, mode, 2, in);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
{
ir_node *in[2];
ir_node *res;
+
in[0] = op1;
in[1] = op2;
res = new_ir_node (db, irg, block, op_Eor, mode, 2, in);
res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ IRN_VRFY_IRG(res, irg);
return res;
}
new_rd_Not (dbg_info* db, ir_graph *irg, ir_node *block,
ir_node *op, ir_mode *mode)
{
- ir_node *in[1];
ir_node *res;
- in[0] = op;
- res = new_ir_node (db, irg, block, op_Not, mode, 1, in);
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+
+ res = new_ir_node(db, irg, block, op_Not, mode, 1, &op);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
{
ir_node *in[2];
ir_node *res;
+
in[0] = op;
in[1] = k;
- res = new_ir_node (db, irg, block, op_Shl, mode, 2, in);
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ res = new_ir_node(db, irg, block, op_Shl, mode, 2, in);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
{
ir_node *in[2];
ir_node *res;
+
in[0] = op;
in[1] = k;
- res = new_ir_node (db, irg, block, op_Shr, mode, 2, in);
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ res = new_ir_node(db, irg, block, op_Shr, mode, 2, in);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
{
ir_node *in[2];
ir_node *res;
+
in[0] = op;
in[1] = k;
- res = new_ir_node (db, irg, block, op_Shrs, mode, 2, in);
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ res = new_ir_node(db, irg, block, op_Shrs, mode, 2, in);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
{
ir_node *in[2];
ir_node *res;
+
in[0] = op;
in[1] = k;
- res = new_ir_node (db, irg, block, op_Rot, mode, 2, in);
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ res = new_ir_node(db, irg, block, op_Rot, mode, 2, in);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
new_rd_Abs (dbg_info* db, ir_graph *irg, ir_node *block,
ir_node *op, ir_mode *mode)
{
- ir_node *in[1];
ir_node *res;
- in[0] = op;
- res = new_ir_node (db, irg, block, op_Abs, mode, 1, in);
+
+ res = new_ir_node(db, irg, block, op_Abs, mode, 1, &op);
res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ IRN_VRFY_IRG(res, irg);
return res;
}
ir_node *res;
in[0] = op1;
in[1] = op2;
- res = new_ir_node (db, irg, block, op_Cmp, mode_T, 2, in);
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+
+ res = new_ir_node(db, irg, block, op_Cmp, mode_T, 2, in);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
new_rd_Jmp (dbg_info* db, ir_graph *irg, ir_node *block)
{
ir_node *res;
+
res = new_ir_node (db, irg, block, op_Jmp, mode_X, 0, NULL);
res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ IRN_VRFY_IRG (res, irg);
return res;
}
INLINE ir_node *
new_rd_Cond (dbg_info* db, ir_graph *irg, ir_node *block, ir_node *c)
{
- ir_node *in[1];
ir_node *res;
- in[0] = c;
- res = new_ir_node (db, irg, block, op_Cond, mode_T, 1, in);
- res->attr.c.kind = dense;
+
+ res = new_ir_node (db, irg, block, op_Cond, mode_T, 1, &c);
+ res->attr.c.kind = dense;
res->attr.c.default_proj = 0;
res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ IRN_VRFY_IRG(res, irg);
return res;
}
int r_arity;
r_arity = arity+2;
- NEW_ARR_A (ir_node *, r_in, r_arity);
+ NEW_ARR_A(ir_node *, r_in, r_arity);
r_in[0] = store;
r_in[1] = callee;
- memcpy (&r_in[2], in, sizeof (ir_node *) * arity);
+ memcpy(&r_in[2], in, sizeof(ir_node *) * arity);
- res = new_ir_node (db, irg, block, op_Call, mode_T, r_arity, r_in);
+ res = new_ir_node(db, irg, block, op_Call, mode_T, r_arity, r_in);
assert(is_method_type(tp));
set_Call_type(res, tp);
res->attr.call.callee_arr = NULL;
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
r_arity = arity+1;
NEW_ARR_A (ir_node *, r_in, r_arity);
r_in[0] = store;
- memcpy (&r_in[1], in, sizeof (ir_node *) * arity);
- res = new_ir_node (db, irg, block, op_Return, mode_X, r_arity, r_in);
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ memcpy(&r_in[1], in, sizeof(ir_node *) * arity);
+ res = new_ir_node(db, irg, block, op_Return, mode_X, r_arity, r_in);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
{
ir_node *in[2];
ir_node *res;
+
in[0] = store;
in[1] = obj;
- res = new_ir_node (db, irg, block, op_Raise, mode_T, 2, in);
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ res = new_ir_node(db, irg, block, op_Raise, mode_T, 2, in);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
{
ir_node *in[2];
ir_node *res;
+
in[0] = store;
in[1] = adr;
- res = new_ir_node (db, irg, block, op_Load, mode_T, 2, in);
-
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ res = new_ir_node(db, irg, block, op_Load, mode_T, 2, in);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
{
ir_node *in[3];
ir_node *res;
+
in[0] = store;
in[1] = adr;
in[2] = val;
- res = new_ir_node (db, irg, block, op_Store, mode_T, 3, in);
-
- res = optimize_node (res);
-
- irn_vrfy_irg (res, irg);
+ res = new_ir_node(db, irg, block, op_Store, mode_T, 3, in);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
{
ir_node *in[2];
ir_node *res;
+
in[0] = store;
in[1] = size;
- res = new_ir_node (db, irg, block, op_Alloc, mode_T, 2, in);
-
+ res = new_ir_node(db, irg, block, op_Alloc, mode_T, 2, in);
res->attr.a.where = where;
- res->attr.a.type = alloc_type;
-
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ res->attr.a.type = alloc_type;
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
{
ir_node *in[3];
ir_node *res;
+
in[0] = store;
in[1] = ptr;
in[2] = size;
res = new_ir_node (db, irg, block, op_Free, mode_T, 3, in);
-
res->attr.f = free_type;
-
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
assert(ent != NULL && is_entity(ent) && "entity expected in Sel construction");
r_arity = arity + 2;
- NEW_ARR_A (ir_node *, r_in, r_arity); /* uses alloca */
+ NEW_ARR_A(ir_node *, r_in, r_arity); /* uses alloca */
r_in[0] = store;
r_in[1] = objptr;
- memcpy (&r_in[2], in, sizeof (ir_node *) * arity);
- res = new_ir_node (db, irg, block, op_Sel, mode_P_mach, r_arity, r_in);
-
+ memcpy(&r_in[2], in, sizeof(ir_node *) * arity);
+ res = new_ir_node(db, irg, block, op_Sel, mode_P_mach, r_arity, r_in);
res->attr.s.ent = ent;
-
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
int r_arity;
r_arity = 2;
- NEW_ARR_A (ir_node *, r_in, r_arity);
- r_in [0] = store;
- r_in [1] = objptr;
-
- res = new_ir_node (db, irg, block, op_Sel, mode_T, r_arity, r_in);
+ NEW_ARR_A(ir_node *, r_in, r_arity);
+ r_in[0] = store;
+ r_in[1] = objptr;
+ res = new_ir_node(db, irg, block, op_Sel, mode_T, r_arity, r_in);
res->attr.io.ent = ent;
- /* res = optimize (res);
- * irn_vrfy_irg (res, irg); */
- return (res);
+ /* res = optimize(res); */
+ IRN_VRFY_IRG(res, irg);
+ return res;
}
INLINE ir_node *
{
ir_node *res;
ir_mode *mode;
+
if ((symkind == symconst_addr_name) || (symkind == symconst_addr_ent))
mode = mode_P_mach;
else
mode = mode_Iu;
- res = new_ir_node (db, irg, block, op_SymConst, mode, 0, NULL);
+ res = new_ir_node(db, irg, block, op_SymConst, mode, 0, NULL);
res->attr.i.num = symkind;
res->attr.i.sym = value;
res->attr.i.tp = tp;
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
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, unknown_type);
return res;
}
{
ir_node *res;
- res = new_ir_node (db, irg, block, op_Sync, mode_M, arity, in);
-
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ res = new_ir_node(db, irg, block, op_Sync, mode_M, arity, in);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
new_rd_Confirm (dbg_info *db, ir_graph *irg, ir_node *block, ir_node *val, ir_node *bound, pn_Cmp cmp)
{
ir_node *in[2], *res;
+
in[0] = val;
in[1] = bound;
-
res = new_ir_node (db, irg, block, op_Confirm, get_irn_mode(val), 2, in);
-
res->attr.confirm_cmp = cmp;
-
res = optimize_node (res);
- irn_vrfy_irg(res, irg);
+ IRN_VRFY_IRG(res, irg);
return res;
}
INLINE ir_node *
new_rd_Unknown (ir_graph *irg, ir_mode *m)
{
- return new_ir_node (NULL, irg, irg->start_block, op_Unknown, m, 0, NULL);
+ return new_ir_node(NULL, irg, irg->start_block, op_Unknown, m, 0, NULL);
}
INLINE ir_node *
{
ir_node *in[1];
ir_node *res;
+
in[0] = get_Call_ptr(call);
- res = new_ir_node (db, irg, block, op_CallBegin, mode_T, 1, in);
+ res = new_ir_node(db, irg, block, op_CallBegin, mode_T, 1, in);
/* res->attr.callbegin.irg = irg; */
res->attr.callbegin.call = call;
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
{
ir_node *res;
- res = new_ir_node (db, irg, block, op_EndReg, mode_T, -1, NULL);
+ res = new_ir_node(db, irg, block, op_EndReg, mode_T, -1, NULL);
irg->end_reg = res;
-
- irn_vrfy_irg (res, irg);
+ IRN_VRFY_IRG(res, irg);
return res;
}
{
ir_node *res;
- res = new_ir_node (db, irg, block, op_EndExcept, mode_T, -1, NULL);
+ res = new_ir_node(db, irg, block, op_EndExcept, mode_T, -1, NULL);
irg->end_except = res;
-
- irn_vrfy_irg (res, irg);
+ IRN_VRFY_IRG (res, irg);
return res;
}
new_rd_Break (dbg_info *db, ir_graph *irg, ir_node *block)
{
ir_node *res;
- res = new_ir_node (db, irg, block, op_Break, mode_X, 0, NULL);
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+
+ res = new_ir_node(db, irg, block, op_Break, mode_X, 0, NULL);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
new_rd_Filter (dbg_info *db, ir_graph *irg, ir_node *block, ir_node *arg, ir_mode *mode,
long proj)
{
- ir_node *in[1];
ir_node *res;
- in[0] = arg;
- res = new_ir_node (db, irg, block, op_Filter, mode, 1, in);
+
+ res = new_ir_node(db, irg, block, op_Filter, mode, 1, &arg);
res->attr.filter.proj = proj;
res->attr.filter.in_cg = NULL;
res->attr.filter.backedge = NULL;
assert(get_Proj_pred(res));
assert(get_nodes_Block(get_Proj_pred(res)));
- res = optimize_node (res);
-
- irn_vrfy_irg (res, irg);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
int r_arity;
r_arity = arity+1;
- NEW_ARR_A (ir_node *, r_in, r_arity);
+ NEW_ARR_A(ir_node *, r_in, r_arity);
r_in[0] = callee;
- memcpy (&r_in[1], in, sizeof (ir_node *) * arity);
+ memcpy(&r_in[1], in, sizeof (ir_node *) * arity);
- res = new_ir_node (db, irg, block, op_FuncCall, mode_T, r_arity, r_in);
+ res = new_ir_node(db, irg, block, op_FuncCall, mode_T, r_arity, r_in);
assert(is_method_type(tp));
set_FuncCall_type(res, tp);
res->attr.call.callee_arr = NULL;
- res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, irg);
return res;
}
op_Start, mode_T, 0, NULL);
/* res->attr.start.irg = current_ir_graph; */
- res = optimize_node (res);
- irn_vrfy_irg (res, current_ir_graph);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, current_ir_graph);
return res;
}
new_d_End (dbg_info* db)
{
ir_node *res;
- res = new_ir_node (db, current_ir_graph, current_ir_graph->current_block,
+ res = new_ir_node(db, current_ir_graph, current_ir_graph->current_block,
op_End, mode_X, -1, NULL);
- res = optimize_node (res);
- irn_vrfy_irg (res, current_ir_graph);
+ res = optimize_node(res);
+ IRN_VRFY_IRG(res, current_ir_graph);
return res;
}
int i;
bool has_unknown = false;
- res = new_rd_Block (db, current_ir_graph, arity, in);
+ res = new_rd_Block(db, current_ir_graph, arity, in);
/* Create and initialize array for Phi-node construction. */
- res->attr.block.graph_arr = NEW_ARR_D (ir_node *, current_ir_graph->obst,
- current_ir_graph->n_loc);
+ res->attr.block.graph_arr = NEW_ARR_D(ir_node *, current_ir_graph->obst,
+ current_ir_graph->n_loc);
memset(res->attr.block.graph_arr, 0, sizeof(ir_node *)*current_ir_graph->n_loc);
- for (i = arity-1; i >= 0; i--) if (get_irn_op(in[i]) == op_Unknown) has_unknown = true;
+ for (i = arity-1; i >= 0; i--)
+ if (get_irn_op(in[i]) == op_Unknown) {
+ has_unknown = true;
+ break;
+ }
- if (!has_unknown) res = optimize_node (res);
+ if (!has_unknown) res = optimize_node(res);
current_ir_graph->current_block = res;
- irn_vrfy_irg (res, current_ir_graph);
+ IRN_VRFY_IRG(res, current_ir_graph);
return res;
}
new_rd_Phi0 (ir_graph *irg, ir_node *block, ir_mode *mode)
{
ir_node *res;
- res = new_ir_node (NULL, irg, block, op_Phi, mode, 0, NULL);
- irn_vrfy_irg (res, irg);
+
+ res = new_ir_node(NULL, irg, block, op_Phi, mode, 0, NULL);
+ IRN_VRFY_IRG(res, irg);
return res;
}
res = known;
} else {
res = optimize_node (res);
- irn_vrfy_irg (res, irg);
+ IRN_VRFY_IRG(res, irg);
}
/* return the pointer to the Phi node. This node might be deallocated! */
}
} else {
res = optimize_node (res); /* This is necessary to add the node to the hash table for cse. */
- irn_vrfy_irg (res, irg);
+ IRN_VRFY_IRG(res, irg);
/* Memory Phis in endless loops must be kept alive.
As we can't distinguish these easily we keep all of them alive. */
if ((res->op == op_Phi) && (mode == mode_M))
nodes refer to the unoptimized node.
We can call _2, as global cse has no effect on blocks. */
block = optimize_in_place_2(block);
- irn_vrfy_irg(block, current_ir_graph);
+ IRN_VRFY_IRG(block, current_ir_graph);
}
}
ir_node *
new_d_Phi (dbg_info* db, int arity, ir_node **in, ir_mode *mode)
{
- return new_rd_Phi (db, current_ir_graph, current_ir_graph->current_block,
+ return new_rd_Phi(db, current_ir_graph, current_ir_graph->current_block,
arity, in, mode);
}
ir_node *
new_d_Const (dbg_info* db, ir_mode *mode, tarval *con)
{
- return new_rd_Const (db, current_ir_graph, current_ir_graph->start_block,
+ return new_rd_Const(db, current_ir_graph, current_ir_graph->start_block,
mode, con);
}
ir_node *
new_d_Const_type (dbg_info* db, ir_mode *mode, tarval *con, type *tp)
{
- return new_rd_Const_type (db, current_ir_graph, current_ir_graph->start_block,
+ return new_rd_Const_type(db, current_ir_graph, current_ir_graph->start_block,
mode, con, tp);
}
ir_node *
new_d_Id (dbg_info* db, ir_node *val, ir_mode *mode)
{
- return new_rd_Id (db, current_ir_graph, current_ir_graph->current_block,
+ return new_rd_Id(db, current_ir_graph, current_ir_graph->current_block,
val, mode);
}
ir_node *
new_d_Proj (dbg_info* db, ir_node *arg, ir_mode *mode, long proj)
{
- return new_rd_Proj (db, current_ir_graph, current_ir_graph->current_block,
+ return new_rd_Proj(db, current_ir_graph, current_ir_graph->current_block,
arg, mode, proj);
}
ir_node *
new_d_Conv (dbg_info* db, ir_node *op, ir_mode *mode)
{
- return new_rd_Conv (db, current_ir_graph, current_ir_graph->current_block,
+ return new_rd_Conv(db, current_ir_graph, current_ir_graph->current_block,
op, mode);
}
ir_node *
new_d_Cast (dbg_info* db, ir_node *op, type *to_tp)
{
- return new_rd_Cast (db, current_ir_graph, current_ir_graph->current_block, op, to_tp);
+ return new_rd_Cast(db, current_ir_graph, current_ir_graph->current_block, op, to_tp);
}
ir_node *
new_d_Tuple (dbg_info* db, int arity, ir_node **in)
{
- return new_rd_Tuple (db, current_ir_graph, current_ir_graph->current_block,
+ return new_rd_Tuple(db, current_ir_graph, current_ir_graph->current_block,
arity, in);
}
ir_node *
new_d_Add (dbg_info* db, ir_node *op1, ir_node *op2, ir_mode *mode)
{
- return new_rd_Add (db, current_ir_graph, current_ir_graph->current_block,
+ return new_rd_Add(db, current_ir_graph, current_ir_graph->current_block,
op1, op2, mode);
}
ir_node *
new_d_Sub (dbg_info* db, ir_node *op1, ir_node *op2, ir_mode *mode)
{
- return new_rd_Sub (db, current_ir_graph, current_ir_graph->current_block,
+ return new_rd_Sub(db, current_ir_graph, current_ir_graph->current_block,
op1, op2, mode);
}
ir_node *
-new_d_Minus (dbg_info* db, ir_node *op, ir_mode *mode)
+new_d_Minus (dbg_info* db, ir_node *op, ir_mode *mode)
{
- return new_rd_Minus (db, current_ir_graph, current_ir_graph->current_block,
+ return new_rd_Minus(db, current_ir_graph, current_ir_graph->current_block,
op, mode);
}
ir_node *
new_d_Mul (dbg_info* db, ir_node *op1, ir_node *op2, ir_mode *mode)
{
- return new_rd_Mul (db, current_ir_graph, current_ir_graph->current_block,
+ return new_rd_Mul(db, current_ir_graph, current_ir_graph->current_block,
op1, op2, mode);
}
ir_node *
-new_d_Bad (void)
+(new_d_Bad)(void)
{
- return current_ir_graph->bad;
+ return __new_d_Bad();
}
ir_node *
memset(res->attr.block.graph_arr, 0, sizeof(ir_node *)*current_ir_graph->n_loc);
/* Immature block may not be optimized! */
- irn_vrfy_irg (res, current_ir_graph);
+ IRN_VRFY_IRG(res, current_ir_graph);
return res;
}
INLINE ir_node *
-new_immBlock () {
+new_immBlock (void) {
return new_d_immBlock(NULL);
}
assert(0 && "Error: Block already matured!\n");
}
else {
- assert (jmp != NULL);
- ARR_APP1 (ir_node *, block->in, jmp);
+ assert(jmp != NULL);
+ ARR_APP1(ir_node *, block->in, jmp);
}
}