作 者:華保健,高耀清 編
定 價:79
出 版 社:清華大學出版社
出版日期:2022年11月01日
頁 數:276
裝 幀:平裝
ISBN:9787302619857
華為公司官方出品!深入解析畢昇編譯器原理與設計實踐。中國工程院院士鄭緯民、華為ICT產品與解決方案總裁汪濤聯袂作序!
●第1章編譯器概述
1.1編譯器基本概念
1.2編譯器發展歷史
1.3編譯器的基本功能與結構
1.3.1前端
1.3.2中端
1.3.3後端
1.4編譯器的設計目標
1.5畢昇編譯器
1.6小結
1.7深入閱讀
1.8習題
第2章鯤鵬處理器
2.1概述
2.2體繫架構
2.2.1執行狀態
2.2.2支持的指令集
2.2.3數據類型
2.3CPU訪存原理
2.3.1多級存儲繫統
2.3.2地址空間
2.3.3地址變換
2.3.4存儲器類型和屬性
2.3.5內存順序模型
2.4CPU編程模型
2.4.1寄存器
2.4.2指令集
2.5鯤鵬處理器與畢昇編譯器
2.5.1畢昇編譯器的優化特性
2.5.2FORTRAN語言支持
2.6小結
2.7深入閱讀
2.8習題
第3章編譯器前端
3.1詞法分析
3.1.1記號
3.1.2正則表達式
3.1.3有限狀態自動機
3.1.4Thompson算法
3.1.5子集構造算法
3.1.6Hopcroft算法
3.2語法分析
3.2.1上下文無關文法
3.2.2推導
3.2.3分析樹
3.2.4自頂向下分析
3.2.5自底向上分析
3.3語義分析
3.3.1抽像語法樹
3.3.2符號表
3.3.3語義檢查
3.4小結
3.5深入閱讀
3.6習題
第4章中間表示
4.1中間表示概述
4.1.1樹狀表示
4.1.2有向無環圖
4.1.3控制流圖
4.1.4依賴圖
4.1.5線性表示
4.2中間代碼生成
4.2.1算術運算符
4.2.2布爾運算符和關繫運算符
4.2.3數組的存儲和訪問
4.2.4字符串
4.2.5結構引用
4.2.6控制流結構
4.2.7過程調用
4.3靜態單賦值形式
4.3.1基本概念
4.3.2SSA形式的構建
4.3.3SSA形式的消去
4.4小結
4.5深入閱讀
4.6習題
第5章中端分析與優化
5.1控制流分析
5.1.1控制流分析方法
5.1.2流圖的遍歷
5.2數據流分析及優化
5.2.1優化的基本結論
5.2.2三地址碼中間表示
5.2.3數據流分析
5.2.4程序優化
5.2.5數據流分析的改進
5.3別名分析
5.3.1基於類型的別名分析
5.3.2基於流的別名分析
5.3.3別名信息的使用
5.4過程間分析及優化
5.4.1分析
5.4.2優化
5.5循環優化
5.5.1循環
5.5.2歸納變量
5.5.3數組邊界檢查
5.5.4循環展開
5.5.5畢昇編譯器的其他循環優化
5.6多級存儲優化
5.6.1數據預取
5.6.2數據重組
5.7反饋式優化
5.7.1基本塊重排優化
5.7.2函數內聯優化
5.7.3寄存器溢出策略
5.8小結
5.9深入閱讀
5.10習題
第6章後端與優化
6.1指令選擇
6.1.1瓦片覆蓋
6.1.2優選吞進
6.1.3動態規劃
6.1.4執行效率
6.2指令調度
6.2.1指令級並行
6.2.2依賴圖
6.2.3局部表調度
6.2.4全局調度
6.2.5軟件流水
6.3寄存器分配
6.3.1干涉圖
6.3.2圖著色
6.3.3Kempe算法
6.3.4溢出
6.3.5接合
6.3.6干涉的保守性
6.4自動向量化
6.4.1概述
6.4.2畢昇編譯器中的自動向量化
6.5小結
6.6深入閱讀
6.7習題
第7章畢昇編譯器AI自動調優
7.1基本原理
7.1.1迭代自動調優
7.1.2預測性自動調優
7.2畢昇自動調優
7.2.1畢昇自動調優的職責和功能
7.2.2安裝Autotuner
7.3調優方法
7.3.1準備工作
7.3.2使用方法
7.4小結
7.5深入閱讀
第8章畢昇編譯器使用
8.1畢昇編譯器介紹
8.2畢昇編譯器安裝使用
8.2.1環境依賴
8.2.2獲取畢昇編譯器
8.2.3安裝畢昇編譯器
8.2.4使用畢昇編譯器
8.3畢昇編譯器選項說明
8.3.1默認選項
8.3.2指定數學庫
8.3.3指定jemalloc
8.3.4LTO優化
8.3.5浮點運算控制選項
8.3.6自定義優化選項
8.4FORTRAN 語言引導語
8.5GDB調試
8.5.1約定
8.5.2不支持場景
8.5.3通過升級GDB版本解決部分問題
《畢昇編譯器原理與實踐》詳細討論了畢昇編譯器的設計原理與實現,深入介紹了現代編譯器設計和實踐。全書共 8 章,包括編譯器概述,鯤鵬處理器,編譯器前端的詞法分析、語法分析和語義分析,編譯器中端的中間表示、中間代碼生成、中間代碼優化、靜態單賦值形式等,編譯器後端的指令選擇、指令調度、寄存器分配等內容。本書重點討論了畢昇編譯器中使用的優選編譯優化技術,如循環優化、自動向量化、多級存儲優化和反饋式優化等,並討論了基於 AI 的編譯器自動調優等內容。為方便讀者學習和掌握相關內容,書中每章都給出了可以繼續深入學習的文獻,並給出了豐富的習題供讀者練習。通過閱讀本書,讀者可以深入理解編譯器設計的基本原理和實踐技術、鯤鵬指令集體繫結構、畢昇編譯器的優化技術等內容,從而為將來從事編譯器理論深入研究和工程實踐打下堅實的基礎。《畢昇編譯器原理與實踐》可作為高等院校、科研機構等相關單位從事編譯原理教學和科研的教等