深入理解LLVM:代碼生成
全書分為3篇。第1篇介紹編譯器基礎(chǔ)知識,包括中間表示,重點介紹SSA、數(shù)據(jù)流分析、支配、循環(huán)等知識,此外還介紹了LLVM的后端描述語言TableGen。第二篇剖析分LLVM代碼生成,其中對代碼生成的每一步驟都有提及,著重介紹指令選擇、指令調(diào)度、寄存器分配和編譯優(yōu)化。同時還以BPF后端為例總結(jié)了如何基于LLVM開發(fā)一款新后端的編譯器。第三篇附錄主要總結(jié)了LLVM代碼生成過程中使用的IR、BPF指令集以及如何在Linux運行BPF應(yīng)用,Pass和PassManager的運行機制等知識。通過閱讀本書,讀者理解和掌握LLVM代碼生成過程,可以根據(jù)本書指導為基于LLVM開發(fā)一款新后端的編譯器。同時本書還介紹了各種編譯過程中使用到的算法,讀者可以根據(jù)場景對算法進行增強從而達到性能優(yōu)化目的。
·22.5萬字