diff options
author | Teresa Johnson <tejohnson@google.com> | 2012-10-26 17:19:35 +0000 |
---|---|---|
committer | Teresa Johnson <tejohnson@gcc.gnu.org> | 2012-10-26 17:19:35 +0000 |
commit | ca3f371f1246db1bf2b71abfdf844a08e0f5dc31 (patch) | |
tree | a2eaa87b296b3829f298c857f1de301049610cf6 /gcc/tree-ssa-threadedge.c | |
parent | 8256d5ca7870ab4aa5f74b9cb9183393b1024d0b (diff) | |
download | gcc-ca3f371f1246db1bf2b71abfdf844a08e0f5dc31.zip gcc-ca3f371f1246db1bf2b71abfdf844a08e0f5dc31.tar.gz gcc-ca3f371f1246db1bf2b71abfdf844a08e0f5dc31.tar.bz2 |
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
Diffstat (limited to 'gcc/tree-ssa-threadedge.c')
0 files changed, 0 insertions, 0 deletions