NEW_BD_BINOP(Sub)
NEW_BD_UNOP(Minus)
NEW_BD_BINOP(Mul)
+NEW_BD_BINOP(Mulh)
NEW_BD_DIVOP(Quot)
NEW_BD_DIVOP(DivMod)
NEW_BD_DIVOP(Div)
ir_node *res;
ir_graph *irg = current_ir_graph;
- res = new_ir_node (db, irg, block, op_Jmp, mode_X, 0, NULL);
- res = optimize_node (res);
+ res = new_ir_node(db, irg, block, op_Jmp, mode_X, 0, NULL);
+ res = optimize_node(res);
IRN_VRFY_IRG(res, irg);
return res;
} /* new_bd_Jmp */
ir_node *res;
ir_graph *irg = current_ir_graph;
- res = new_ir_node (db, irg, block, op_IJmp, mode_X, 1, &tgt);
- res = optimize_node (res);
+ res = new_ir_node(db, irg, block, op_IJmp, mode_X, 1, &tgt);
+ res = optimize_node(res);
IRN_VRFY_IRG(res, irg);
-
- if (get_irn_op(res) == op_IJmp) /* still an IJmp */
- keep_alive(res);
return res;
} /* new_bd_IJmp */
ir_node *res;
ir_graph *irg = current_ir_graph;
- res = new_ir_node (db, irg, block, op_Cond, mode_T, 1, &c);
+ res = new_ir_node(db, irg, block, op_Cond, mode_T, 1, &c);
res->attr.cond.kind = dense;
res->attr.cond.default_proj = 0;
res->attr.cond.pred = COND_JMP_PRED_NONE;
- res = optimize_node (res);
+ res = optimize_node(res);
IRN_VRFY_IRG(res, irg);
return res;
} /* new_bd_Cond */
res->attr.load.exc.pin_state = op_pin_state_pinned;
res->attr.load.load_mode = mode;
res->attr.load.volatility = volatility_non_volatile;
+ res->attr.load.aligned = align_is_aligned;
res = optimize_node(res);
IRN_VRFY_IRG(res, irg);
return res;
res = new_ir_node(db, irg, block, op_Store, mode_T, 3, in);
res->attr.store.exc.pin_state = op_pin_state_pinned;
res->attr.store.volatility = volatility_non_volatile;
+ res->attr.store.aligned = align_is_aligned;
res = optimize_node(res);
IRN_VRFY_IRG(res, irg);
return res;
NEW_RD_BINOP(Sub)
NEW_RD_UNOP(Minus)
NEW_RD_BINOP(Mul)
+NEW_RD_BINOP(Mulh)
NEW_RD_DIVOP(Quot)
NEW_RD_DIVOP(DivMod)
NEW_RD_DIVOP(Div)
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);
+}
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);
NEW_D_BINOP(Sub)
NEW_D_UNOP(Minus)
NEW_D_BINOP(Mul)
+NEW_D_BINOP(Mulh)
/**
* Allocate the frag array.
ir_node *new_Mul(ir_node *op1, ir_node *op2, ir_mode *mode) {
return new_d_Mul(NULL, op1, op2, mode);
}
+ir_node *new_Mulh(ir_node *op1, ir_node *op2, ir_mode *mode) {
+ return new_d_Mulh(NULL, op1, op2, mode);
+}
ir_node *new_Quot(ir_node *memop, ir_node *op1, ir_node *op2, ir_mode *mode, op_pin_state state) {
return new_d_Quot(NULL, memop, op1, op2, mode, state);
}