re PR tree-optimization/27639 (VRP miscompilation of simple loop)
authorZdenek Dvorak <rakdver@gcc.gnu.org>
Wed, 24 May 2006 22:55:15 +0000 (22:55 +0000)
committerZdenek Dvorak <rakdver@gcc.gnu.org>
Wed, 24 May 2006 22:55:15 +0000 (22:55 +0000)
commitd7f5de76fdc534c7eb7bb532b212936665ec2080
tree1cb568e88ce4a846caaddba12bd18eb12329f4b8
parent91f8ce668b14d42e1bcbead322f869009fc896f0
re PR tree-optimization/27639 (VRP miscompilation of simple loop)

PR tree-optimization/27639
PR tree-optimization/26719
* tree-vrp.c (adjust_range_with_scev): Use scev_direction and adjust
call to scev_probably_wraps_p.
* tree-ssa-loop-niter.c (compare_trees, convert_step_widening,
used_in_pointer_arithmetic_p, convert_step): Removed.
(nowrap_type_p): New function.
(scev_probably_wraps_p): Rewritten.
* tree-scalar-evolution.c (instantiate_parameters_1): Do not call
chrec_convert if chrec_convert_aggressive might have been used.
* tree-chrec.c (convert_affine_scev, chrec_convert_1,
scev_direction): New functions.
(chrec_convert): Changed to a wrapper over chrec_convert_1.
* tree-ssa-loop-ivopts.c (idx_find_step): Use convert_affine_scev
instead of convert_step.
* tree-flow.h (scev_probably_wraps_p): Declaration changed.
(convert_step): Declaration removed.
(convert_affine_scev, nowrap_type_p, scev_direction): Declare.

* gcc.dg/pr27639.c: New test.
* gcc.dg/pr26719.c: New test.
* gcc.dg/tree-ssa/scev-cast.c: New test.

From-SVN: r114057
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr26719.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr27639.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/scev-cast.c [new file with mode: 0644]
gcc/tree-chrec.c
gcc/tree-flow.h
gcc/tree-scalar-evolution.c
gcc/tree-ssa-loop-ivopts.c
gcc/tree-ssa-loop-niter.c
gcc/tree-vrp.c