Commit c53635d6 authored by Christoph Mallon's avatar Christoph Mallon
Browse files

Allow exchanging nodes with oparity_dynamic and delete their in-array.

[r19035]
parent d1d5979d
...@@ -96,8 +96,6 @@ void exchange(ir_node *old, ir_node *nw) { ...@@ -96,8 +96,6 @@ void exchange(ir_node *old, ir_node *nw) {
/* Else, do it the old-fashioned way. */ /* Else, do it the old-fashioned way. */
ir_node *block; ir_node *block;
assert(get_irn_op(old)->opar != oparity_dynamic);
hook_turn_into_id(old); hook_turn_into_id(old);
block = old->in[0]; block = old->in[0];
...@@ -109,6 +107,10 @@ void exchange(ir_node *old, ir_node *nw) { ...@@ -109,6 +107,10 @@ void exchange(ir_node *old, ir_node *nw) {
} }
} }
if (get_irn_op(old)->opar == oparity_dynamic) {
DEL_ARR_F(get_irn_in(old));
}
old->op = op_Id; old->op = op_Id;
old->in = NEW_ARR_D (ir_node *, irg->obst, 2); old->in = NEW_ARR_D (ir_node *, irg->obst, 2);
old->in[0] = block; old->in[0] = block;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment