This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/18792] ICE with -O1 -ftree-loop-linear on small test case
- From: "dberlin at dberlin dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 7 Dec 2004 22:56:31 -0000
- Subject: [Bug tree-optimization/18792] ICE with -O1 -ftree-loop-linear on small test case
- References: <20041202193143.18792.fjahanian@apple.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From dberlin at dberlin dot org 2004-12-07 22:56 -------
Subject: Re: ICE with -O1 -ftree-loop-linear
on small test case
>
>> There are basically two ways how to fix this: either make the code
>> that changes the order of loops in the nests to also renumber the loops
>> (which would in turn invalidate all scev caches, that would need to be
>> flushed). Or fix the code that assumes the ordering of the loops.
>
> Sorry for a bit missleading formulation -- the later solution does not
> avoid need for flushing the scev caches when the "linear" pass changes
> order of loops; the data are invalidated anyway.
>
You've missed the actual bug here.
The bug doesn't occur *after* linear loops, it occurs *before* it.
When computing data dependence, we expect that all loop indexes in a given
loop nest are sequential.
In this case, they are not.
The question is whether this is correct or not.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18792