re PR tree-optimization/48052 (loop not vectorized if index is "unsigned int")
authorBin Cheng <bin.cheng@arm.com>
Tue, 2 Jun 2015 10:19:18 +0000 (10:19 +0000)
committerBin Cheng <amker@gcc.gnu.org>
Tue, 2 Jun 2015 10:19:18 +0000 (10:19 +0000)
commit2f07b722ed0302ded58710b6d8485d85d785b4ee
tree5afe55006761ff005599d44216fad2d86d243e58
parentb47717225bfbffb2e06c0f2a7e72b458ba40fc17
re PR tree-optimization/48052 (loop not vectorized if index is "unsigned int")

PR tree-optimization/48052
* cfgloop.h (struct control_iv): New.
(struct loop): New field control_ivs.
* tree-ssa-loop-niter.c : Include "stor-layout.h".
(number_of_iterations_lt): Set no_overflow information.
(number_of_iterations_exit): Init control iv in niter struct.
(record_control_iv): New.
(estimate_numbers_of_iterations_loop): Call record_control_iv.
(loop_exits_before_overflow): New.  Interface factored out of
scev_probably_wraps_p.
(scev_probably_wraps_p): Factor loop niter related code into
loop_exits_before_overflow.
(free_numbers_of_iterations_estimates_loop): Free control ivs.
* tree-ssa-loop-niter.h (free_loop_control_ivs): New.

gcc/testsuite/ChangeLog
PR tree-optimization/48052
* gcc.dg/tree-ssa/scev-8.c: New.
* gcc.dg/tree-ssa/scev-9.c: New.
* gcc.dg/tree-ssa/scev-10.c: New.
* gcc.dg/vect/pr48052.c: New.

From-SVN: r224020
gcc/ChangeLog
gcc/cfgloop.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/scev-10.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/scev-8.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/scev-9.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/pr48052.c [new file with mode: 0644]
gcc/tree-ssa-loop-niter.c
gcc/tree-ssa-loop-niter.h