Commit cfff7c32 authored by yb9976's avatar yb9976
Browse files

Fixed behavior if the nodes are in the same block.

parent f840dcaa
...@@ -110,8 +110,7 @@ static void move_other_uses(ir_node *node, ir_node *copy) ...@@ -110,8 +110,7 @@ static void move_other_uses(ir_node *node, ir_node *copy)
{ {
/* copy_prev already has its visited flag set, but is still /* copy_prev already has its visited flag set, but is still
* scheduled before copy. */ * scheduled before copy. */
ir_node *copy_prev = get_irn_sched_info(copy)->prev; ir_node *copy_prev = get_irn_sched_info(copy)->prev;
ir_node *copy_block = get_nodes_block(copy);
foreach_irn_out(node, i, proj) { foreach_irn_out(node, i, proj) {
if (get_irn_mode(proj) == flag_class->mode) { if (get_irn_mode(proj) == flag_class->mode) {
...@@ -122,7 +121,7 @@ static void move_other_uses(ir_node *node, ir_node *copy) ...@@ -122,7 +121,7 @@ static void move_other_uses(ir_node *node, ir_node *copy)
foreach_out_edge_safe(proj, edge) { foreach_out_edge_safe(proj, edge) {
ir_node *succ = get_edge_src_irn(edge); ir_node *succ = get_edge_src_irn(edge);
if (irn_visited(succ) && succ != copy_prev && if (irn_visited(succ) && succ != copy_prev &&
block_dominates(copy_block, get_nodes_block(succ))) { value_strictly_dominates(copy, succ)) {
if (new_proj == NULL) { if (new_proj == NULL) {
ir_mode *proj_mode = get_irn_mode(proj); ir_mode *proj_mode = get_irn_mode(proj);
int pn = get_Proj_proj(proj); int pn = get_Proj_proj(proj);
......
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