This is the mail archive of the gcc-help@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: 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.


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