add some localopts for shifting over the mode size
[libfirm] / ir / ir / irop.c
index d4318f0..31adf0c 100644 (file)
@@ -166,7 +166,7 @@ ir_op *new_ir_op(unsigned code, const char *name, op_pin_state p,
        res->tag       = 0;
 
        if (ops)
-               memcpy(&res->ops, ops, sizeof(res->ops));
+               res->ops = *ops;
        else /* no given ops, set all operations to NULL */
                memset(&res->ops, 0, sizeof(res->ops));
 
@@ -189,6 +189,14 @@ void free_ir_op(ir_op *code)
        free(code);
 }  /* free_ir_op */
 
+void ir_op_set_fragile_indices(ir_op *op, int fragile_mem_index,
+                               int pn_x_regular, int pn_x_except)
+{
+       op->fragile_mem_index = fragile_mem_index;
+       op->pn_x_regular = pn_x_regular;
+       op->pn_x_except = pn_x_except;
+}
+
 /* Returns the string for the opcode. */
 const char *get_op_name (const ir_op *op)
 {