[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Most of the work of the compiler is done on an intermediate representation called register transfer language. In this language, the instructions to be output are described, pretty much one by one, in an algebraic form that describes what the instruction does.
RTL is inspired by Lisp lists. It has both an internal form, made up of structures that point at other structures, and a textual form that is used in the machine description and in printed debugging dumps. The textual form uses nested parentheses to indicate the pointers in the internal form.
19.1 RTL Object Types Expressions vs vectors vs strings vs integers. 19.2 RTL Classes and Formats Categories of RTL expression objects, and their structure. 19.3 Access to Operands Macros to access expression operands or vector elts. 19.4 Flags in an RTL Expression Other flags in an RTL expression. 19.5 Machine Modes Describing the size and format of a datum. 19.6 Constant Expression Types Expressions with constant values. 19.7 Registers and Memory Expressions representing register contents or memory. 19.8 RTL Expressions for Arithmetic Expressions representing arithmetic on other expressions. 19.9 Comparison Operations Expressions representing comparison of expressions. 19.10 Bit-Fields Expressions representing bit-fields in memory or reg. 19.11 Vector Operations Expressions involving vector datatypes. 19.12 Conversions Extending, truncating, floating or fixing. 19.13 Declarations Declaring volatility, constancy, etc. 19.14 Side Effect Expressions Expressions for storing in registers, etc. 19.15 Embedded Side-Effects on Addresses Embedded side-effects for autoincrement addressing. 19.16 Assembler Instructions as Expressions Representing asm
with operands.19.17 Insns Expression types for entire insns. 19.18 RTL Representation of Function-Call Insns RTL representation of function call insns. 19.19 Structure Sharing Assumptions Some expressions are unique; others *must* be copied. 19.20 Reading RTL Reading textual RTL from a file.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |