暫存器傳遞語言
暫存器傳遞語言(英語: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).
外部連結
这是一篇電腦科學小作品。您可以通过编辑或修订扩充其内容。 |