diff options
author | Jakub Jelinek <jakub@redhat.com> | 2010-06-25 14:10:42 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2010-06-25 14:10:42 +0200 |
commit | 7a2eceff8f1f275c2cda0ac25db354697bf33f7d (patch) | |
tree | bd100b068858852eebf09bf62958875ba731f839 /gcc/tree-inline.c | |
parent | 8ba0479ece9a852e7a1029268a33a3d52277a7f8 (diff) | |
download | gcc-7a2eceff8f1f275c2cda0ac25db354697bf33f7d.zip gcc-7a2eceff8f1f275c2cda0ac25db354697bf33f7d.tar.gz gcc-7a2eceff8f1f275c2cda0ac25db354697bf33f7d.tar.bz2 |
re PR middle-end/43866 (wrong code with -fbounds-check -funswitch-loops)
PR middle-end/43866
* tree-ssa-loop-unswitch.c (tree_may_unswitch_on): If stmt is always
true or always false, return NULL_TREE.
(tree_unswitch_single_loop): Optimize conditions even when reaching
max-unswitch-level parameter. If num > 0, optimize first all conditions
using entry checks, then do still reachable block discovery and consider
only conditions in still reachable basic blocks in the loop.
* gfortran.dg/pr43866.f90: New test.
From-SVN: r161375
Diffstat (limited to 'gcc/tree-inline.c')
0 files changed, 0 insertions, 0 deletions