On Jan 2, 2008 3:24 PM, Qing Wei <[EMAIL PROTECTED]> wrote:
> Hi,
> I find that in the function expand_expr_real_1(), which translates the
> GIMPLE tree nodes to RTL.
> There are codes to process the ARRAY_REF/ARRAY_REF_RANGE node. I wrote a
> test program in C such like this,
>
> void f(int s1[], int s2[], int s3[])
> {
> int j;
>
> for (j = 0; j < 16; j++)
> s3[j] = s1[j] + s2[j];
> }
>
> I set a breakpoint at the codes to process ARRAY_REF node in
> expand_expr_real_1(), However I found that GCC never goes there. I do
> find that the ARRAY_REF nodes denoting S1[j]/S2[j]/S3[j] exist in
> GENERIC tree for the program. After the gimplify_expr() called, they are
> lowered to other nodes? If so, why the expand_expr_real_1() handle such
> nodes. What is wrong.

Nothing is wrong.  Try

int s1[10];
int s2[10];
int s3[10];
void f()
{
   int i;
   for (i=0; i<10; ++i)
     s1[i] = s2[i] + s3[i];
}

Richard.

Reply via email to