]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR tree-optimization/32573 (ice for legal code with -O3)
authorJakub Jelinek <jakub@redhat.com>
Thu, 23 Aug 2007 23:29:57 +0000 (01:29 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 23 Aug 2007 23:29:57 +0000 (01:29 +0200)
commit2f4703261732681c8d2a42ebfe4850eba96cd8a0
tree52acacce772d18db5ee81cdd6de6cfb83fc155ad
parent97dc8e5b5775cbb4aba4a7d7456844c15ad5d6b0
re PR tree-optimization/32573 (ice for legal code with -O3)

PR tree-optimization/32573
PR middle-end/32946
* tree-data-ref.c (initialize_data_dependence_relation): Clear
DDR_SUBSCRIPTS, DDR_DIR_VECTS and DDR_DIST_VECTS at the beginning.
(finalize_ddr_dependent): Clear DDR_SUBSCRIPTS after freeing it.
(build_classic_dist_vector): Return false rather than true if
DDR_ARE_DEPENDENT is non-NULL at the beginning.  Return false
if either subscript_dependence_tester_1 or build_classic_dist_vector_1
returned false.  Don't call save_dist_v before calling
build_classic_dist_vector_1.
(free_dependence_relation): Don't guard freeing DDR_SUBSCRIPTS
with NULL DDR_ARE_DEPENDENT.  Also free DDR_DIST_VECTS and/or
DDR_DIR_VECTS vectors.

* gcc.dg/pr32573.c: New test.

From-SVN: r127750
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr32573.c [new file with mode: 0644]
gcc/tree-data-ref.c