]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/tree-scalar-evolution.c
re PR tree-optimization/22236 (wrong code for casts and scev)
authorSebastian Pop <pop@cri.ensmp.fr>
Sat, 13 Aug 2005 17:28:43 +0000 (19:28 +0200)
committerSebastian Pop <spop@gcc.gnu.org>
Sat, 13 Aug 2005 17:28:43 +0000 (17:28 +0000)
commitd77704579c02c48223abfe8db569941dfe0e4f46
treee16e6f08588cfad8cd3b6712bf30a607ac5f488d
parente2df5c1deede2103cdc08e772cb57aede4288043
re PR tree-optimization/22236 (wrong code for casts and scev)

PR tree-optimization/22236
* tree-cfg.c (print_pred_bbs, print_succ_bbs): Correctly print
successors and predecessors.
* tree-chrec.c (chrec_convert): Before converting, check that
sequences don't wrap.
* tree-data-ref.c (compute_estimated_nb_iterations): Moved ...
(analyze_array): Extern.
(find_data_references_in_loop): Remove call to
compute_estimated_nb_iterations.
* tree-data-ref.h (analyze_array): Declared.
* tree-flow-inline.h (single_ssa_tree_operand, single_ssa_use_operand,
single_ssa_def_operand, zero_ssa_operands): Fix documentation.
* tree-flow.h (scev_probably_wraps_p): Declare with an extra parameter.
* tree-scalar-evolution.c (instantiate_parameters_1): Factor entry
condition.
* tree-ssa-loop-ivcanon.c: Fix documentation.
* tree-ssa-loop-ivopts.c (idx_find_step): Add a fixme note.
* tree-ssa-loop-niter.c (compute_estimated_nb_iterations): ... here.
(infer_loop_bounds_from_undefined): New.
(estimate_numbers_of_iterations_loop): Use
infer_loop_bounds_from_undefined.
(used_in_pointer_arithmetic_p): New.
(scev_probably_wraps_p): Pass an extra parameter.  Call
used_in_pointer_arithmetic_p.  Check that AT_STMT is not null.
(convert_step): Fix documentation.
* tree-vrp.c (adjust_range_with_scev): Call instantiate_parameters.
Use initial_condition_in_loop_num and evolution_part_in_loop_num
instead of CHREC_LEFT and CHREC_RIGHT.  Adjust the call to
scev_probably_wraps_p.

From-SVN: r103055
14 files changed:
gcc/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/pr22236.c [new file with mode: 0644]
gcc/tree-cfg.c
gcc/tree-chrec.c
gcc/tree-data-ref.c
gcc/tree-data-ref.h
gcc/tree-flow-inline.h
gcc/tree-flow.h
gcc/tree-scalar-evolution.c
gcc/tree-ssa-loop-ivcanon.c
gcc/tree-ssa-loop-ivopts.c
gcc/tree-ssa-loop-niter.c
gcc/tree-vect-analyze.c
gcc/tree-vrp.c