2012-02-29 59 views

回答

6

它們是在編譯器內部(SSA)樹上工作的優化器通道,而不是RTL(寄存器傳輸語言)級別。

有關概述這是怎麼回事,看到海合會內部文檔:http://gcc.gnu.org/onlinedocs/gccint/

有關SSA的介紹,請參閱http://en.wikipedia.org/wiki/Static_single_assignment_form

+0

謝謝。我有一種感覺,我在這裏打開了一堆蠕蟲(我不是一個編譯器人員),但是你能詳細說明一下這些SSA樹嗎? 「編譯器內部」和「RTL級別」之間有什麼區別? – ysap 2012-02-29 22:49:03

+1

@ysap:見http://www.redhat.com/magazine/002dec04/features/gcc/figs/tree-ssa-phases.png from http://www.redhat.com/magazine/002dec04/features/gcc /關於gcc編譯步驟的概述 – Christoph 2012-02-29 22:56:00

+0

@ysap:這是一個很大的話題。除了Christoph發佈的友好鏈接之外,請參閱我在編輯中添加的鏈接。 – janneb 2012-02-29 23:03:27