Register Transfer Language
Register Transfer Language (RTL) is an intermediate representation used by the GCC compiler.
Related Topics:
Intermediate representation - GCC - Compiler
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
RTL is used to represent the code being generated, in a form closer to assembly language than to the high level languages which GCC compiles.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
RTL is generated from the GCC Abstract Syntax Tree representation, transformed by various passes in the GCC 'middle-end', and then converted to assembly language. GCC currently uses the RTL form to do a part of its optimisation work.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
RTL is usually written in a form which looks like a Lisp S-expression:
Related Topics:
Lisp - S-expression
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
(set:SI (reg:SI 140) (plus:SI (reg:SI 138) (reg:SI 139)))
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
This 'side-effect expression' says 'add register 138 to register 139, and store the result in register 140'.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
The RTL generated for a program is different when GCC generates code for different processors. However, the meaning of the RTL is more-or-less independent of the target: it would usually be possible to read and understand a piece of RTL without knowing what processor it was generated for. Similarly, the meaning of the RTL doesn't usually depend on the original high-level language of the program.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
~ Table of Content ~
| ► | Introduction |
~ What's Hot ~
~ Community ~
| ► | History Forum Come and discuss about History, Civilizations, Historical Events and Figures |
| ► | History Web-Ring A community of sites, blogs and forums dedicated to History. Do not hesitate to submit your site. |
and are licensed under the GNU Free Documentation License.
Lexicon - Privacy Policy - Spiritus-Temporis.com ©2005.
