Documents for GCC 4.0.2

The following series of documents about GCC internals have been developed by us at I.I.T. Bombay and are copyright by us. Postscript versions are also available. The documents are available in HTML, Postscript, PDF, GNU info and HTML formats, all generated from texinfo sources.

The suggested initial reading sequence is:

  1. Basic Information about the GCC System (Optional & Quick Reading)
  2. The Conceptual Structure of GCC (Necessary)
  3. GCC 4.0.2 - The Implementation (Necessary)
  4. Writing GCC MD (Useful)
  5. Systematic Development of GCC MD (Useful)

The other documents may be read as required.

The Conceptual Structure of GCC .ps .pdf .info .html

This is the main architecture document of this series that describes the conceptual structure of GCC. We mainly focus on the non-front end part of GCC, and particularly sharpen the role of RTL in GCC. For instance, the use of RTL in GCC is sharpened to two languages: MD-RTL for specification of target systems, and IR-RTL for internal intermediate representation during compilation.

GCC 4.0.2 -- The Implementation .ps .pdf .info .html

The implementation of GCC 4.0.2 is described with respect to the conceptual model described above. The goal of this document is to illustrate the application of the above conceptual model to a particular compiler release. In that sense, we do not describe the details exhaustively; instead only those details relevant to exposing the concepts are described.

Basic Information about GCC .ps .pdf .info .html

Some basic information and vocabulary to describe the GCC system and for giving some background. The file organization is described briefly and the GCC build process is described from an user's point of view.

Writing GCC MD (Reworking) .ps .pdf .info .html

The concepts that go into the development of a GCC Machine Description are described. A fictional target machine is used to develop the concepts. This is a small tutorial on writing machine descriptions in GCC.

Systematic Development of GCC MD   .pdf    

There are a few ideas that help in a systematic development of a machine description. This is a PDF of the paper by Prof. Uday Khedker and Sameera Deshpande

GCC Source blocks, macros and all details (Reworking) .ps .pdf .info .html

A collection of various file level details of the GCC system. Machine description macros and RTL objects are described in detail.

Cross Compilation and GCC (Reworking) .ps .pdf .info .html

The cross compilation notation and figures. This document aims to bridge the gap between the concepts of cross compilation, and the use of GCC as a cross compiler.