暫存器傳遞語言

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

註釋

外部連結