PR tree-optimization/48052
commit05032b10839cf0498c992c819bf2358e86c22bb0
authoramker <amker@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 2 Jun 2015 10:19:18 +0000 (2 10:19 +0000)
committeramker <amker@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 2 Jun 2015 10:19:18 +0000 (2 10:19 +0000)
tree5afe55006761ff005599d44216fad2d86d243e58
parent708cee3fd77ebec5b1fa93a325d8380e73c06159
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224020 138bc75d-0d04-0410-961f-82ee72b054a4
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