diff options
author | Richard Biener <rguenther@suse.de> | 2017-12-14 14:32:24 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2017-12-14 14:32:24 +0000 |
commit | 8fa06648cde628f49ac69587d31841fc338ec841 (patch) | |
tree | 4ed9aa324a460c80fca144994aeda6284b57d5b2 /libcpp | |
parent | f297ebafdcdf5d5a8c3ef74c9906de67998e5aa7 (diff) | |
download | gcc-8fa06648cde628f49ac69587d31841fc338ec841.zip gcc-8fa06648cde628f49ac69587d31841fc338ec841.tar.gz gcc-8fa06648cde628f49ac69587d31841fc338ec841.tar.bz2 |
re PR tree-optimization/83326 (SPEC CPU2017 648.exchange2_s ~6% performance regression with r255267 (reproducer attached))
2017-12-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/83326
* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Add
may_be_zero parameter and handle it by not marking the first
peeled copy as not exiting the loop.
(try_peel_loop): Likewise.
(canonicalize_loop_induction_variables): Use number_of_iterations_exit
to handle the case of constant or zero iterations and perform
loop header copying on-the-fly.
* gcc.dg/tree-ssa/pr81388-2.c: Adjust.
From-SVN: r255635
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions