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: code gen for C string literals


kevin diggs <diggskevin38@gmail.com> writes:

> On Tue, Feb 15, 2011 at 11:25 AM, Ian Lance Taylor <iant@google.com> wrote:
>> kevin diggs <diggskevin38@gmail.com> 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


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