ir_op *op_Rot; ir_op *get_op_Rot (void) { return op_Rot; }
ir_op *op_Conv; ir_op *get_op_Conv (void) { return op_Conv; }
ir_op *op_Cast; ir_op *get_op_Cast (void) { return op_Cast; }
+ir_op *op_Carry; ir_op *get_op_Carry (void) { return op_Carry; }
+ir_op *op_Borrow; ir_op *get_op_Borrow (void) { return op_Borrow; }
ir_op *op_Phi; ir_op *get_op_Phi (void) { return op_Phi; }
ir_op *op_NoMem; ir_op *get_op_NoMem (void) { return op_NoMem; }
ir_op *op_Mux; ir_op *get_op_Mux (void) { return op_Mux; }
+ir_op *op_Psi; ir_op *get_op_Psi (void) { return op_Psi; }
ir_op *op_CopyB; ir_op *get_op_CopyB (void) { return op_CopyB; }
ir_op *op_Raise; ir_op *get_op_Raise (void) { return op_Raise; }
firm_set_default_verifyer(code, &res->ops);
firm_set_default_reassoc(code, &res->ops);
+ add_irp_opcode(res);
+
hook_new_ir_op(res);
return res;
}
void free_ir_op(ir_op *code) {
hook_free_ir_op(code);
+
+ remove_irp_opcode(code);
free(code);
}
op_Rot = new_ir_op(iro_Rot, "Rot", op_pin_state_floats, N, oparity_binary, 0, 0, NULL);
op_Conv = new_ir_op(iro_Conv, "Conv", op_pin_state_floats, N, oparity_unary, 0, 0, NULL);
op_Cast = new_ir_op(iro_Cast, "Cast", op_pin_state_floats, N|H, oparity_unary, 0, sizeof(cast_attr), NULL);
+ op_Carry = new_ir_op(iro_Carry, "Carry", op_pin_state_floats, C, oparity_binary, 0, 0, NULL);
+ op_Borrow = new_ir_op(iro_Borrow, "Borrow", op_pin_state_floats, N, oparity_binary, 0, 0, NULL);
op_Phi = new_ir_op(iro_Phi, "Phi", op_pin_state_pinned, N, oparity_variable, -1, sizeof(int), NULL);
op_NoMem = new_ir_op(iro_NoMem, "NoMem", op_pin_state_pinned, N, oparity_zero, -1, 0, NULL);
op_Mux = new_ir_op(iro_Mux, "Mux", op_pin_state_floats, N, oparity_trinary, -1, 0, NULL);
+ op_Psi = new_ir_op(iro_Psi, "Psi", op_pin_state_floats, N, oparity_variable, -1, 0, NULL);
op_CopyB = new_ir_op(iro_CopyB, "CopyB", op_pin_state_mem_pinned, F|H, oparity_trinary, -1, sizeof(copyb_attr), NULL);
op_InstOf = new_ir_op(iro_InstOf, "InstOf", op_pin_state_mem_pinned, H, oparity_unary, -1, sizeof(io_attr), NULL);
free_ir_op (op_Rot ); op_Rot = NULL;
free_ir_op (op_Conv ); op_Conv = NULL;
free_ir_op (op_Cast ); op_Cast = NULL;
+ free_ir_op (op_Carry ); op_Carry = NULL;
+ free_ir_op (op_Borrow ); op_Borrow = NULL;
free_ir_op (op_Phi ); op_Phi = NULL;
free_ir_op (op_EndExcept); op_EndExcept = NULL;
free_ir_op (op_NoMem ); op_NoMem = NULL;
+ free_ir_op (op_Psi ); op_Psi = NULL;
free_ir_op (op_Mux ); op_Mux = NULL;
free_ir_op (op_CopyB ); op_CopyB = NULL;