------- Comment #6 from spop at gcc dot gnu dot org 2007-12-18 07:09 -------
Subject: Re: gfortran.dg/ltrans-7.f90 doesn't work
I have a patch for this. The problem is in the data dependence
analysis that uses conversion to arbitrary integer_type_nodes.
I'm not yet sure about this fix, but at least this makes the test
pass on amd64-linux.
Sebastian
Index: tree-data-ref.c
===================================================================
--- tree-data-ref.c (revision 130976)
+++ tree-data-ref.c (working copy)
@@ -2450,9 +2450,9 @@
if (dump_file && (dump_flags & TDF_DETAILS))
fprintf (dump_file, "(analyze_miv_subscript \n");
- chrec_a = chrec_convert (integer_type_node, chrec_a, NULL_TREE);
- chrec_b = chrec_convert (integer_type_node, chrec_b, NULL_TREE);
- difference = chrec_fold_minus (integer_type_node, chrec_a, chrec_b);
+ chrec_a = chrec_convert (chrec_type (chrec_a), chrec_a, NULL_TREE);
+ chrec_b = chrec_convert (chrec_type (chrec_a), chrec_b, NULL_TREE);
+ difference = chrec_fold_minus (chrec_type (chrec_a), chrec_a, chrec_b);
if (eq_evolutions_p (chrec_a, chrec_b))
{
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34413