在上一篇文章《通過實例理解 Go 內聯優化》[1] 中,我們探討了 Go 編譯器在編譯中端進行的內聯優化。內聯優化基於 IR 中間表示進行,不過 Go 編譯過程不止有一種 IR 表示,這點和龍書《編譯原理 (第二版)》[2] 的在第六章 “中間代碼生成” 一開始處的講解是一致的,即在將給定源語言的一個程序翻譯成特定的目標機器代碼的過程中,一個編譯器可能構造出一系列中間表示(IR),如下圖:高層中間 ⌘ Read more
在上一篇文章《通過實例理解 Go 內聯優化》[1] 中,我們探討了 Go 編譯器在編譯中端進行的內聯優化。內聯優化基於 IR 中間表示進行,不過 Go 編譯過程不止有一種 IR 表示,這點和龍書《編譯原理 (第二版)》[2] 的在第六章 “中間代碼生成” 一開始處的講解是一致的,即在將給定源語言的一個程序翻譯成特定的目標機器代碼的過程中,一個編譯器可能構造出一系列中間表示(IR),如下圖:高層中間 ⌘ Read more