寄存器传递语言
寄存器传递语言(英语:register transfer language,缩写为 RTL),又译为暂存器转换语言、寄存器转换语言,一种中间语言,使用于编译器中。与汇编语言很接近。寄存器传递语言被用于描述一个架构中寄存器传输级上的数据流。 在学术论文和教科书中,寄存器传递语言被认为是一种与架构无关的汇编语言。GCC的中间语言,也被称为寄存器传递语言(RTL),风格类似于LISP。GCC的前端(frontend)会先将编程语言转译成RTL,之后再利用后端(backend)转化成机器代码。
历史
1980年,寄存器传递语言首次被提出[1]。
GCC
GCC使用的寄存器传递语言,采用S-表达式,与LISP类似:
(set (reg:SI 140)
(plus:SI (reg:SI 138)
(reg:SI 139)))
注释
- ^ Davidson and Fraser; The Design and Application of a Retargetable Peephole Optimizer; ToPLaS v2(2) 191-202 (April 1980) (PDF). [2012-09-08]. (原始内容存档 (PDF)于2012-09-27).
外部链接
这是一篇电脑科学小作品。您可以通过编辑或修订扩充其内容。 |