]> gcc.gnu.org Git - gcc.git/commit
Avoid conservative behavior in REE by allowing removal of redundant extends when...
authorTeresa Johnson <tejohnson@google.com>
Fri, 26 Oct 2012 17:19:35 +0000 (17:19 +0000)
committerTeresa Johnson <tejohnson@gcc.gnu.org>
Fri, 26 Oct 2012 17:19:35 +0000 (17:19 +0000)
commitca3f371f1246db1bf2b71abfdf844a08e0f5dc31
treea2eaa87b296b3829f298c857f1de301049610cf6
parent8256d5ca7870ab4aa5f74b9cb9183393b1024d0b
Avoid conservative behavior in REE by allowing removal of redundant extends when...

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.

From-SVN: r192850
gcc/ChangeLog
gcc/ree.c
gcc/testsuite/gcc.c-torture/execute/20111227-2.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/execute/20111227-3.c [new file with mode: 0644]
This page took 0.064439 seconds and 5 git commands to generate.