暫存器傳遞語言
暫存器傳遞語言(英語: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).
外部連結
這是一篇電腦科學小作品。您可以透過編輯或修訂擴充其內容。 |