2004-10-16 Daniel Berlin <dberlin@dberlin.org>
commit557ef5d8cb6ffccf08f53b975c804a9384fc5493
authordberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 1 Nov 2004 18:08:02 +0000 (1 18:08 +0000)
committerdberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 1 Nov 2004 18:08:02 +0000 (1 18:08 +0000)
tree13c080b6513fecb915f215d79235d8f610719b6a
parent7f726eff24ed1dd40b104ca01302b8537493515c
2004-10-16  Daniel Berlin  <dberlin@dberlin.org>

Fix PR tree-optimization/17672
Fix PR tree-optimization/18168

* lambda-code.c (lambda_lattice_compute_base): Fix reversed
assert test.
(gcc_tree_to_linear_expression): Add extra to existing constant.
(depth_of_nest): Factor out function used in various places.
(gcc_loop_to_lambda_loop): Clean up code a little bit. No
functional changes.
(find_induction_var_from_exit_cond): Stop guessing, and just
get the right answer :).
(gcc_loopnest_to_lambda_loopnest): Remove useless pre-allocation.
Print out message about result of attempt to create perfect nest.
(lbv_to_gcc_expression): Add type argument, use it to do math
and induction variable creation.
(lle_to_gcc_expression): Ditto.
(lambda_loopnest_to_gcc_loopnest): Create new iv with same type as
oldiv. Pass type argument to lle_to_gcc_expression and
lbv_to_gcc_expression.
Reset number of iterations after transformation.
(perfect_nestify): Remove useless pre-allocation, and cleanup
a small amount.

* tree-data-ref.c (build_classic_dist_vector): Return false for
dependences completely outside of the loop nest we asked about.
(build_classic_dir_vector): Ditto.
(compute_data_dependences_for_loop): Only add dependence relations
inside the loop we asked about.

* tree-loop-linear.c (linear_transform_loops): Use DDR_SIZE_VECT.
Compute immediate uses.

* tree-optimize.c: Move linear_transform_loops to before ivcanon.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89945 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/lambda-code.c
gcc/testsuite/gcc.dg/tree-ssa/ltrans-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/ltrans-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/ltrans-3.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/ltrans-4.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/ltrans-5.c [new file with mode: 0644]
gcc/tree-data-ref.c
gcc/tree-loop-linear.c
gcc/tree-optimize.c