易燃物匯聚 YouTube 有聲書與書評
深入理解LLVM:代碼生成 封面

深入理解LLVM:代碼生成

彭成寒 李靈 戴賢澤 王志磊 俞佳嘉

1146人在讀
33.5萬字總字數
¥65定價

內容簡介

全書分爲3篇。第1篇介紹編譯器基礎知識,包括中間表示,重點介紹SSA、數據流分析、支配、循環等知識,此外還介紹了LLVM的後端描述語言TableGen。第二篇剖析分LLVM代碼生成,其中對代碼生成的每一步驟都有提及,着重介紹指令選擇、指令調度、寄存器分配和編譯優化。同時還以BPF後端爲例總結了如何基於LLVM開發一款新後端的編譯器。第三篇附錄主要總結了LLVM代碼生成過程中使用的IR、BPF指令集以及如何在Linux運行BPF應用,Pass和PassManager的運行機制等知識。 通過閱讀本書,讀者理解和掌握LLVM代碼生成過程,可以根據本書指導爲基於LLVM開發一款新後端的編譯器。同時本書還介紹了各種編譯過程中使用到的算法,讀者可以根據場景對算法進行增強從而達到性能優化目的。

讀者書評

★★★★★

一本不錯的 LLVM 領域的指導書籍

★☆☆☆☆

充斥低級錯誤,常常前一句定義就和下一句衝突,太多了,隨便舉幾個例子 4.1.2 如果基本塊A支配基本塊B,那麼基本塊A執行一定會導致基本塊B也執行(根據支配定義.... 這邊兩個「支配」都應該改成「逆支配」才符合定義 4.2.1 後向邊:在 dfs 中有一條從根節點出發的路徑,且路徑能從 v 到達 w,如果 df(v) > df(w).... 前後矛盾,如果 dfs 中有這條路徑根本不可能讓後者的值大於前者,推論他說的意思是圖中有這條路徑而不是 dfs 中 4.2.2 對 LT 算法來說... 這邊上下兩個條件甚至都不是互斥的,而且 sdom(w) 不就是 u?為什麼一個式子裡要參雜兩種寫法?大概他根本就搞混了 前面也有很多,數不完了,難以直視的校對品質,只能負評了

★★★★★

我覺得這本書還不錯👍

書籍信息

作者彭成寒 李靈 戴賢澤 王志磊 俞佳嘉
出版社機械工業出版社
出版時間2024-09-19
ISBN9787111764151
分類計算機-編程設計
格式EPUB
完結狀態連載中
章節數23