This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [autovect][PATCH]: Re: Simple loops not interchanged?
- From: Dorit Naishlos <DORIT at il dot ibm dot com>
- To: Daniel Berlin <dberlin at dberlin dot org>
- Cc: gcc at gcc dot gnu dot org, Richard Guenther <rguenth at tat dot physik dot uni-tuebingen dot de>, Sebastian Pop <sebastian dot pop at cri dot ensmp dot fr>
- Date: Sun, 12 Dec 2004 17:16:42 +0200
- Subject: Re: [autovect][PATCH]: Re: Simple loops not interchanged?
> i'd like to
> apply this to the autovect branch (Feel free to use
> evolution_function_is_invariant_p in the tests in the vectorizer. It
> should let you catch some more loops than the simple constant test, if
> you can transform them properly)
sure. thanks,
dorit
Daniel Berlin
<dberlin@dberlin. To: Richard Guenther <rguenth@tat.physik.uni-tuebingen.de>, Sebastian Pop
org> <sebastian.pop@cri.ensmp.fr>, Dorit Naishlos/Haifa/IBM@IBMIL
Sent by: cc: gcc@gcc.gnu.org
gcc-owner@gcc.gnu Subject: [autovect][PATCH]: Re: Simple loops not interchanged?
.org
12/12/2004 05:58
I've attached a patch that lets us interchange this.
It does two things:
1. It lets the chrec code consider variables invariant in the loop that
matches the chrec variable (loop number) as constant for purposes for the
chrec.
2. It informs the data dependence tester that chrecs that are equal
(ie the same chrec) overlap on every iteration.
This is enough to get this loop to interchange.
Sebastian, unless you have a problem with this, then Dorit, i'd like to
apply this to the autovect branch (Feel free to use
evolution_function_is_invariant_p in the tests in the vectorizer. It
should let you catch some more loops than the simple constant test, if
you can transform them properly)
It includes Richard's testcase in order to make sure we don't regress here
later on.
:)
#### dataref.diff has been removed from this note on December 12, 2004 by
Dorit Naishlos