This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Fix another IVOPTs problem
- From: Richard Guenther <rguenther at suse dot de>
- To: gcc-patches at gcc dot gnu dot org
- Date: Mon, 1 Aug 2005 16:06:50 +0200 (CEST)
- Subject: [PATCH] Fix another IVOPTs problem
... which failure I don't exactly remember. One of the
array aliasing regressions -- but the patch looks obvious
enough to envision failures even without this aliasing.
Maybe.
Bootstrapped and tested in conjunction with array aliasing
on x86_64-unknown-linux-gnu.
Ok for mainline?
Thanks,
Richard.
2005-08-01 Richard Guenther <rguenther@suse.de>
* tree-ssa-loop-ivopts.c (rewrite_use): Mark stmt for renaming.
* tree-ssa-loop.c (pass_iv_optimize): Schedule TODO_update_ssa.
Index: tree-ssa-loop-ivopts.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-ssa-loop-ivopts.c,v
retrieving revision 2.85
diff -c -3 -p -r2.85 tree-ssa-loop-ivopts.c
*** tree-ssa-loop-ivopts.c 21 Jul 2005 07:24:10 -0000 2.85
--- tree-ssa-loop-ivopts.c 28 Jul 2005 12:17:28 -0000
*************** rewrite_use (struct ivopts_data *data,
*** 5746,5751 ****
--- 5761,5767 ----
gcc_unreachable ();
}
update_stmt (use->stmt);
+ mark_new_vars_to_rename (use->stmt);
}
/* Rewrite the uses using the selected induction variables. */
Index: tree-ssa-loop.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-ssa-loop.c,v
retrieving revision 2.33
diff -c -3 -p -r2.33 tree-ssa-loop.c
*** tree-ssa-loop.c 19 Jul 2005 00:44:45 -0000 2.33
--- tree-ssa-loop.c 28 Jul 2005 12:17:28 -0000
*************** struct tree_opt_pass pass_iv_optimize =
*** 435,441 ****
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
! TODO_dump_func | TODO_verify_loops, /* todo_flags_finish */
0 /* letter */
};
--- 460,466 ----
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
! TODO_dump_func | TODO_verify_loops | TODO_update_ssa, /* todo_flags_finish */
0 /* letter */
};