Structure of GCC

Like most portable compilers, the compilation process of a GCC-based compiler can be conceptually split up in three phases:

Neither the AST nor the non-strict RTL representations are completely target independent, but the GIMPLE language is, and in non-strict RTL form the representation is still not really machine assembly, so the passes that work on non-strict RTL can still be considered target independent to some extent (even passes like combine do not have to worry too much about the target machine). The passes working on strict RTL are really assembler optimizers, which clearly need to take into account far more information about the target architecture.

The source file hierarchy is described in its documentation. See also the page on regenerating configure scripts

None: StructureOfGCC (last edited 2008-01-10 19:38:52 by localhost)