暂存器传递语言

暂存器传递语言(英语: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)))

注释

外部链接