華為方舟編譯器之美

華為方舟編譯器之美

《華為方舟編譯器之美》是2020年清華大學出版社出版的圖書,作者是史寧寧。

基本介紹

  • 中文名:華為方舟編譯器之美
  • 作者:史寧寧
  • 出版時間:2020年9月1日
  • 出版社:清華大學出版社 
  • ISBN:9787302562627
內容簡介,圖書目錄,作者簡介,

內容簡介

華為方舟編譯器自面世以來,在業界乃至網際網路科技圈引發了巨大的反響。作為一款國內研發的大型工業編譯器,方舟編譯器從一開始就承載了眾多期望。方舟編譯器開源之後,業界不少同仁開始分析方舟編譯器的架構和實現,本書也是這時候開始編寫的。
本書基於方舟編譯器開原始碼的V0.2.1版本,從方舟編譯器的開源進程與前景談起,介紹方舟編譯器的構建、總體架構、IR設計、Maple IR的處理、Me體系、phase體系的設計與實現等內容,覆蓋了V0.2.1版本所開源的所有核心內容。在最後,還對如何參與方舟編譯器社區的建設給出了指引。
總體而言,本書既有對整體架構的分析,又有對整體架構實現以及重點內容代碼實現的介紹,可以幫助讀者快速的了解方舟編譯器的開原始碼,讓讀者更加方便的參與到方舟編譯器的建設和使用之中。

圖書目錄

第1章方舟編譯器的前世今生00
1.1方舟編譯器的開源進程00
1.2方舟編譯器的前景00
第2章方舟編譯器的構建00
2.1方舟編譯器構建體系00
2.2方舟編譯器源碼編譯0
2.3方舟編譯器官方例子編譯0
2.4Toy runtime簡介0
第3章方舟編譯器總體介紹0
3.1方舟編譯器的架構0
3.2方舟編譯器源碼目錄0
3.2.1一級目錄0
3.2.2src目錄介紹0
3.3方舟編譯器文檔0
3.4方舟編譯器的執行流程0
第4章中間表示0
4.1IR簡介0
4.2三地址碼0
4.3SSA0
第5章方舟編譯器IR的設計與實現0
5.1Maple IR設計的起源與思想0
5.2Maple IR的結構0
5.3Maple IR結構表示代碼0
5.4Maple IR中的基本類型的設計與實現0
5.4.1基本類型的設計0
華為方舟編譯器之美——基於開原始碼的架構分析與實現
目錄
5.4.2Maple IR基本類型的實現0
5.5Maple IR中的控制流語句的設計與實現0
5.5.1控制流語句的設計0
5.5.2控制流語句的實現0
第6章方舟編譯器IR與其他編譯器IR的橫向對比0
6.1Maple IR與LLVM IR的對比0
6.1.1Maple IR與LLVM IR的結構對比0
6.1.2Maple IR與LLVM IR的類型對比0
6.1.3Maple IR與LLVM IR中module層面的
信息對比0
6.2Maple IR與WHIRL IR的對比0
6.2.1Maple IR與WHIRL IR的基本類型對比0
6.2.2Maple IR與WHIRL IR的控制流語句對比0
第7章Maple IR 的處理流程分析0
7.1Maple IR的整體處理流程0
7.2Maple IR的 build類0
7.3Maple IR的符號表0
7.4Maple IR的暫存器實現0
7.5Maple IR的lower處理0
7.5.1if語句的向下轉換0
7.5.2while和dowhile語句的向下轉換0
7.5.3doloop語句的向下轉換
第8章Me體系實現
8.1MeFunction實現
8.2MeCFG實現
8.3BB實現
8.4MeStmt實現
8.5MeExpr實現
第9章方舟編譯器phase體系的設計與實現
9.1phase體系的總體設計與實現
9.2phase的註冊與新增
9.3phase的運行機制
9.4ModulePhase的設計與實現
9.5MeFuncPhase的設計與實現
9.6DriverRunner的調用
第10章phase實例分析
10.1ModulePhase類phase的實現與運行
10.2ModulePhase之classhierarchy分析
10.3MeFuncPhase類phase的執行前準備
10.4MeFuncPhase類的phase的返回分析
10.5MeFuncPhase之dominance分析
10.6MeFuncPhase之ssaTab分析
10.7MeFuncPhase之ssa分析
第11章如何參與方舟編譯器社區
附錄A方舟編程體系
參考文獻
後記

作者簡介

史寧寧,中國科學院軟體研究所智慧型軟體研究中心PLCT實驗室項目主管。吉林大學計算機學院碩士。2012年起作為核心開發人員和項目經理參與組織開發多個編譯器項目。長期堅持撰寫技術部落格,其中“LLVM每日談”“方舟編譯器學習筆記”等系列影響較大,曾出版圖書1部。目前活躍在HelloGCC/HelloLLVM、方舟編譯器等開源社區。

相關詞條

熱門詞條

聯絡我們