kevin diggs <diggskevin38@xxxxxxxxx> writes: > On Tue, Feb 15, 2011 at 11:25 AM, Ian Lance Taylor <iant@xxxxxxxxxx> wrote: >> kevin diggs <diggskevin38@xxxxxxxxx> writes: >> >> >> GIMPLE is the representation used by the middle-end. > > ??? what is the relationship between GIMPLE and RTL, which at my VERY > EARLY understanding of what goes on under the hood I would have > thought was the middle-end representation? Is RTL "the back-end > representation" (my guess would have been asm though maybe that is the > output)? Yes, RTL is also a representation used by the middle-end. RTL is much more machine specific than GIMPLE. The middle-end starts with the conversion to GIMPLE. It runs a bunch of general optimization passes. Then the GIMPLE is converted to RTL. Then comes a few more optimization passes, then stuff like register allocation, instruction scheduling, and final code generation. >> SSA is a compiler optimization technique which heavily influences the >> design of the intermediate representation. ÂSee >> http://en.wikipedia.org/wiki/Static_single_assignment_form . >> > Is SSA new? i.e. in what gcc version did it start getting used? SSA was introduced into gcc in version 4.0. Ian