avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [avr-gcc-list] AVR-GCC internals.


From: Weddington, Eric
Subject: RE: [avr-gcc-list] AVR-GCC internals.
Date: Thu, 12 Jun 2008 11:49:58 -0600

 

> -----Original Message-----
> From: 
> address@hidden 
> [mailto:address@hidden
> org] On Behalf Of Jonathan Blanchard
> Sent: Thursday, June 12, 2008 8:29 AM
> To: address@hidden
> Subject: [avr-gcc-list] AVR-GCC internals.
> 
> I'm a bit curious about two thing. First who or what organization was
> responsible for the initial creation of the AVR port of GCC.

Denis Chertykov was responsible for creating the original AVR port of
GCC. IIRC, Denis and Marek Michalkiewicz were the original authors of
avr-libc. I could be slightly mixed up and that it was Denis and Marek
responsible for the AVR port of GCC and Marek responsible for avr-libc.

Anyways, right now it is still based on volunteer developers.
 
> Secondly, I was browsing the mailing list and seen various discussion
> about the AVR back end. What are the differences between the inner
> working of AVR-GCC and the other GCC port. I mean is parsing,
> optimization and code generation done the same way as other GCC port?

See the GCC documentation, 
<http://gcc.gnu.org/onlinedocs/>

specifically the GCC Internals Manual:
<http://gcc.gnu.org/onlinedocs/gccint/>

The "front-end" of GCC is per language compiler. So there is a C
front-end, a C++ front-end, Ada front-end, Java front-end, Fortran
front-end, etc.
<http://gcc.gnu.org/frontends.html>

The "back-end" of GCC is per device or platform (OS + device). The AVR
is just one back-end of many. This should give you a rough idea of just
how many:
<http://gcc.gnu.org/onlinedocs/gcc-4.3.0/gcc/Submodel-Options.html#Submo
del-Options>

The front-end parses the language and creates an Intermediate Language
(IL). The "middle-end" is then responsible for the various compiler
passes and general optimization. The "back-end" does all the machine
specific optimization and generates machine-specific assembly language.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]