aboutsummaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
diff options
context:
space:
mode:
authorZdenek Dvorak <dvorakz@suse.cz>2006-05-01 21:42:01 +0200
committerZdenek Dvorak <rakdver@gcc.gnu.org>2006-05-01 19:42:01 +0000
commit763f45275b818e0e55fb069c096c5fcfc02865bd (patch)
treef83e87a7a029c987be249cb29870fa982d3c752d /gcc/ChangeLog
parent2a83cc52548482af48cd2cebcf9e5248c81d2499 (diff)
downloadgcc-763f45275b818e0e55fb069c096c5fcfc02865bd.zip
gcc-763f45275b818e0e55fb069c096c5fcfc02865bd.tar.gz
gcc-763f45275b818e0e55fb069c096c5fcfc02865bd.tar.bz2
re PR tree-optimization/27144 (segfault with -O2 on x86_64 (and powerpc64))
PR tree-optimization/27144 * tree-ssa-loop-niter.c (derive_constant_upper_bound): New function. (record_estimate): Only record constant upper bound. (infer_loop_bounds_from_undefined): Call compute_estimated_nb_iterations just once. (proved_non_wrapping_p): Renamed to ... (n_of_executions_at_most): ... this. Expect bound to be a constant. (convert_step_widening, scev_probably_wraps_p): Call n_of_executions_at_most instead of proved_non_wrapping_p. (substitute_in_loop_info): Do not replace values in bounds. * cfgloop.h (struct nb_iter_bound): Remove "additional" field. Update comments. * gcc.dg/tree-ssa/loop-16.c: New test. From-SVN: r113425
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r--gcc/ChangeLog15
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 78bc5a5..b7d9e5f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,18 @@
+2006-05-01 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/27144
+ * tree-ssa-loop-niter.c (derive_constant_upper_bound): New function.
+ (record_estimate): Only record constant upper bound.
+ (infer_loop_bounds_from_undefined): Call
+ compute_estimated_nb_iterations just once.
+ (proved_non_wrapping_p): Renamed to ...
+ (n_of_executions_at_most): ... this. Expect bound to be a constant.
+ (convert_step_widening, scev_probably_wraps_p): Call
+ n_of_executions_at_most instead of proved_non_wrapping_p.
+ (substitute_in_loop_info): Do not replace values in bounds.
+ * cfgloop.h (struct nb_iter_bound): Remove "additional" field. Update
+ comments.
+
2006-05-01 Richard Henderson <rth@redhat.com>
PR c/27358