diff options
author | Zdenek Dvorak <dvorakz@suse.cz> | 2007-02-09 14:29:11 +0100 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2007-02-09 13:29:11 +0000 |
commit | b44e7f07c5a8b8dfe7549583d3504f1a39208b03 (patch) | |
tree | a7c503e98956c6e5d624c17e6ed753cc613964aa /gcc/tree-ssa-loop-ivcanon.c | |
parent | 917fbceb1b9687c2871b1ca1074389287339d06a (diff) | |
download | gcc-b44e7f07c5a8b8dfe7549583d3504f1a39208b03.zip gcc-b44e7f07c5a8b8dfe7549583d3504f1a39208b03.tar.gz gcc-b44e7f07c5a8b8dfe7549583d3504f1a39208b03.tar.bz2 |
re PR tree-optimization/23361 (Can't eliminate empty loops with power of two step and variable bounds)
2007-02-09 Zdenek Dvorak <dvorakz@suse.cz>
Richard Guenther <rguenther@suse.de>
PR middle-end/23361
* fold-const.c (fold_comparison): Handle obfuscated comparisons
against INT_MIN/INT_MAX.
* tree-ssa-loop-ivcanon.c (remove_empty_loop): Print to dump
file if a loop is removed.
* gcc.dg/fold-compare-3.c: New testcase.
* gcc.dg/tree-ssa/loop-24.c: Likewise.
Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r121742
Diffstat (limited to 'gcc/tree-ssa-loop-ivcanon.c')
-rw-r--r-- | gcc/tree-ssa-loop-ivcanon.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/tree-ssa-loop-ivcanon.c b/gcc/tree-ssa-loop-ivcanon.c index acc8cf3..80ac155 100644 --- a/gcc/tree-ssa-loop-ivcanon.c +++ b/gcc/tree-ssa-loop-ivcanon.c @@ -480,6 +480,9 @@ remove_empty_loop (struct loop *loop) unsigned n_before, freq_in, freq_h; gcov_type exit_count = exit->count; + if (dump_file) + fprintf (dump_file, "Removing empty loop %d\n", loop->num); + non_exit = EDGE_SUCC (exit->src, 0); if (non_exit == exit) non_exit = EDGE_SUCC (exit->src, 1); |