Commit 68c2bc55 authored by Christoph Mallon's avatar Christoph Mallon
Browse files

beflags: Correct a bug when try_replace() succeeds in rematerialize_or_move().

In this case the list of flags uers was erroneously reset.
But the new flags producer is not definitely available, so it might be necessary to rewire the users again.
parent c2f52aa8
......@@ -254,15 +254,12 @@ static void fix_flags_walker(ir_node *block, void *env)
pn = get_Proj_num(flags_needed);
flags_needed = get_Proj_pred(flags_needed);
flag_consumers = node;
set_irn_link(flag_consumers, NULL);
assert(arch_irn_is(flags_needed, rematerializable));
} else {
/* link all consumers in a list */
set_irn_link(node, flag_consumers);
flag_consumers = node;
if (flags_needed != NULL) {
assert(get_nodes_block(flags_needed) != block);
Supports Markdown
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