暫存器傳遞語言

暫存器傳遞語言(英語: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)))

註釋

外部連結