This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [cfg-branch] loop unrolling fixes and questions


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]