本文件介紹 LLVM 編譯器基礎架構與指令集,這是一種簡單的方法,可在連結時、運行時和現場實現複雜的代碼轉換。這是一種務實的編譯方法,盡可能減少對程式設計師和工具的干擾,同時仍然保留從原始碼級編譯器到應用程式生命週期後期階段的大量高階資訊。我們將描述 LLVM 指令集、LLVM 系統的設計以及它的一些關鍵組成部分。
「LLVM 指令集與編譯策略」,Chris Lattner 與 Vikram Adve
技術報告 #UIUCDCS-R-2002-2292,伊利諾大學電腦科學系,2002 年 8 月。
自本文檔發佈以來,LLVM 已經進行了一項**重大**變更:文件中描述的 GCC C 前端已經從頭開始完全重寫。新的 C 前端基於主線 GCC CVS 樹(將成為 GCC 3.4),並從 GCC AST 表示形式(而非無類型的 GCC RTL 表示形式)擴展類型安全的 LLVM 代碼。
此變更顯著提高了生成的代碼質量和整個系統的穩定性。
@TechReport{LattnerAdve:LLVM:ISCS, Author = "{Chris Lattner and Vikram Adve}", Title = "{The LLVM Instruction Set and Compilation Strategy}", Institution = "{CS Dept., Univ. of Illinois at Urbana-Champaign}", Number = {UIUCDCS-R-2002-2292}, Type = {Tech. Report}, Month = {Aug}, Year = {2002} }