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: [fortran PATCH] Implement a(:,:) = 0.0 using memset


On Mon, 2006-12-18 at 10:36 -0700, roger@eyesopen.com wrote:
> we currently generate the following with -fdump-tree-original
> 
>   int8 S.0;
> 
>   S.0 = 1;
>   while (1)
>     {
>       if (S.0 > 20) goto L.1; else (void) 0;
>       (*a)[NON_LVALUE_EXPR <S.0> + -1] = 0;
>       S.0 = S.0 + 1;
>     }
>   L.1:;
> 
> with the patch below, we now generate this instead.
> 
>   (void) __builtin_memset ((void *) a, 0, 80);

This optimization should really be done in the tree level and not done
in the front-end.

In fact Thomas from SUSE has a patch to do this (based on my original
patch):
http://www.gccsummit.org/2006/view_abstract.php?content_key=27

Thanks,
Andrew Pinski


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