This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [lno] [patch] vectorizer update - loop bound
- From: Daniel Berlin <dberlin at dberlin dot org>
- To: Dorit Naishlos <DORIT at il dot ibm dot com>
- Cc: pop at gauvain dot u-strasbg dot fr,gcc-patches at gcc dot gnu dot org,Geoff Keating <geoffk at geoffk dot org>,Toon Moene <toon at moene dot indiv dot nluug dot nl>
- Date: Mon, 19 Jan 2004 11:22:13 -0500
- Subject: Re: [lno] [patch] vectorizer update - loop bound
- References: <OFBDF415F6.EE851556-ONC2256E20.0053D212-C2256E20.005A1583@il.ibm.com>
I figured out what the problem was, but now that the vectorizer passes
that
stage, it fails on an alignment check, which currently tries to make
sure
that the array base and the first access to the array are aligned
(which is
over conservative on purpose). The first access however is at index 1,
which leads the vectorizer to conclude that the accesses to this array
are
not aligned. Shouldn't the array accesses be normalized to start from 0
when the Fortran program is translated to the trees? If not, can I
query
what was the source language and treat Fortran programs differently
than C
(e.g., consider accesses to index i as accesses to index (i-1) in case
it's
Fortran)?
I could rewrite the normalization pass if you want, it was done right
before major SSA changes, and i never got around to rewriting it.
My only concern is whether it will make the evolutions too complex to
be "simple" evolutions.
--Dan