This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [cfg-branch] loop unrolling fixes and questions
- From: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>
- To: Jan Hubicka <jh at suse dot cz>
- Cc: gcc-pdo at atrey dot karlin dot mff dot cuni dot cz, gcc-patches at gcc dot gnu dot org
- Date: Mon, 1 Apr 2002 09:09:28 +0200
- Subject: Re: [cfg-branch] loop unrolling fixes and questions
- References: <20020401000948.GC21683@atrey.karlin.mff.cuni.cz>
Hello.
> 3) unroll_loop_runtime_iterations: It is broken when handling paradoxical
> loop bound (like for (i=1;i<-10;i++), where the constants are not
> known and loop header is not duplicated; so I've disabled it for now.
>
> Zdenek, can you add the necesary check?
> We do misscompile init.o of crafty. Misscompiled is one of loops with
> runtime computed number of iteration and grow false. I didn't identified
> exactly which one it is :(
I will look on it.
> Also another nit is that with unrolling of following loop:
>
> int a[100];
> int b,c;
> t()
> {
> int i;
> for (i=b;i<c;i++)
> a[i]=0;
> }
>
> We produce internal loop containing label in the
> middle of loop, while old unrolling produces:
Actually I have expected reorder_basic_blocks to take care of this.
Just now I have noticed it is run far too late to be useful. I'll look
on this also.
Zdenek