GCC Internals
  • AST(Abstract Syntax Tree)
    • the format of the generated ASTs is slightly different for each language
  • provide a language-independent way of representing an entire function in trees
  • <gcc src>/gcc/tree.def
  • RTL(Register Transfer Language)
  • RTL is a hardware-based representation that corresponds to an abstract target architecture with an infinite number of registers.
  • insn-flag.h
  • insn-codes.h
  • inst-emit.c
  • Machine/Target Description
  • <gcc_src>/gcc/config/machine
      • machine.md(machine description)
        • RTL Patterns(patterns for generating RTL instructions from the parse tree)
        • Assembler mnemonic
      • machine.h(target description macros)
        • endian
        • ABI
        • Calling Convention
        • Register Usage
      • machine.c(user-defined functions used in machine.md & machine.h)
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License