This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r192850 - in /trunk/gcc: ChangeLog ree.c testsu...
- From: tejohnson at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Fri, 26 Oct 2012 17:19:37 -0000
- Subject: r192850 - in /trunk/gcc: ChangeLog ree.c testsu...
Author: tejohnson
Date: Fri Oct 26 17:19:35 2012
New Revision: 192850
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192850
Log:
Avoid conservative behavior in REE by allowing removal of redundant extends
when the def feeds another extend with a different mode. This works because
in merge_def_and_ext only calls combine_set_extension if the candidate for
removal has a wider mode than the def extend's mode, otherwise the def extend
mode is preserved. In combine_set_extension the def is modified to use the
wider candidate's mode.
2012-10-26 Teresa Johnson <tejohnson@google.com>
* ree.c (add_removable_extension): Remove unnecessary
mode check with other extension.
* testsuite/gcc.c-torture/execute/20111227-2.c: New test.
* testsuite/gcc.c-torture/execute/20111227-3.c: Ditto.
Added:
trunk/gcc/testsuite/gcc.c-torture/execute/20111227-2.c
trunk/gcc/testsuite/gcc.c-torture/execute/20111227-3.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ree.c