This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: GIMPLE SSA NOTATIONS
adarsh@cadl.iisc.ernet.in writes:
>
> Hello,
>
> Would you please tell me how the intermediate variable names and loop
> labels are assigned in GIMPLE SSA representation.
>
> for example, consider the following
>
> i.12_43 = i_4;
> j.13_44 = j_6;
> i.12_45 = i_4;
> j.13_46 = j_6;
> D.1888_47 = C[i.12_45][j.13_46];
> i.12_48 = i_4;
> k.14_49 = k_7;
> D.1890_50 = A[i.12_48][k.14_49];
> k.14_51 = k_7;
> j.13_52 = j_6;
> D.1891_53 = B[k.14_51][j.13_52];
> D.1892_54 = D.1890_50 * D.1891_53;
> D.1893_55 = D.1888_47 + D.1892_54;
> C[i.12_48][j.13_52] = D.1893_55;
> k_57 = k_7 + 1;
>
> now I want to know how exactly the numbers associated with each variable
> are obtained.
You want to know exactly? Read the source.
> If you can suggest me a good reference it would be very helpful.
See internal_get_tmp_var() in gimplify.c. The variable numbers are
created by create_tmp_var_name().
Artificial labels are created by create_artificial_label().
Andrew.