[vox-tech] another gcc question
Peter Jay Salzman
vox-tech@lists.lugod.org
Wed, 27 Feb 2002 09:46:29 -0800
begin Gabriel Rosa <grosa@ucdavis.edu>
> On Wed, 27 Feb 2002, Peter Jay Salzman wrote:
>
> > another optimization question:
> >
> > int n = 5;
> > for (i=0; i<n; ++i)
> >
> > can gcc unroll this loop the way it can (for instance)
> >
> > #define N 5
> > for (i=0; i<N; ++i)
>
> Refer to previous answer.
> if you use -funroll-all-loops, yes.
i realized that i wrote that email rather stupidly.
just to be clear, i know that you can unroll a loop when testing the
iterator against a macro. i was asking about a simple variable
assignment like
int n=2;
for (i=0; i<n; ++i)
so i assume your answer would be "no" for -funroll-loops.
the reason why i'm asking is that this is completely deterministic, and
a compiler can know, with certainty, that this loop will iterate over 0
and 1. that is, you can know this at compile time, before executing any
code.
clearly, this ISN'T deterministic:
int n=2;
MyFunction(&n);
for (i=0; i<n; ++i)
but certainly, this is:
int n=2;
for (i=0; i<n; ++i)
pete