中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊
> >>
LLVM編譯器原理與實踐

包郵 LLVM編譯器原理與實踐

出版社:機械工業出版社出版時間:2024-10-01
開本: 16開 頁數: 472
本類榜單:工業技術銷量榜
中 圖 價:¥95.9(6.9折) 定價  ¥139.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

LLVM編譯器原理與實踐 版權信息

LLVM編譯器原理與實踐 本書特色

這本書是關于LLVM這一強大而靈活的編譯技術的詳盡指南,它將幫助開發者理解編譯器的設計和實現。鼓勵每位對編譯器技術有興趣的讀者閱讀這本書,從而提升自身技術能力。

LLVM編譯器原理與實踐 內容簡介

LLVM是伊利諾伊大學的一個研究項目,提供一個現代化的,基于SSA的編譯策略,并能夠同時支持靜態和動態的任意編程語言的編譯目標。LLVM由不同的子項目組成,其中許多是正在生產中使用的商業和開源的項目。它也被廣泛用于學術研究。 本書力求將LLVM基礎知識理論與案例實踐融合在一起進行詳細的介紹,幫助讀者理解LLVM工作原理,同時按照應用與設備需要,使用 LLVM進行相應的優化與部署。本書包含大量示例和代碼片段,幫助讀者掌握LLVM的編譯器開發環境。 本書共11章,包括編譯和安裝LLVM、LLVM外部項目、LLVM編譯器、Clang前端基礎、Clang架構與實踐示例、LLVM IR實踐、LLVM芯片編譯器實踐示例、LLVM編譯器示例代碼分析、LLVM優化示例、LLVM 后端實踐,以及MLIR編譯器。 本書適合算法、軟件、編譯器、人工智能、硬件等專業方向的企業工程技術人員、高校師生、科研工作人員和技術管理人員閱讀。

LLVM編譯器原理與實踐 目錄

前言
第1章 編譯和安裝LLVM/
1.1LLVM系統入門/
1.1.1查看LLVM(包括Clang等子項目)/
1.1.2配置和構建LLVM與Clang/
1.2獨立構建/
1.3軟硬件環境要求/
1.3.1硬件環境/
1.3.2軟件環境/
1.3.3主機C 編譯器和標準庫/
1.3.4獲取流行主機C 工具鏈/
1.4LLVM入門/
1.4.1術語和符號/
1.4.2打開LLVM存檔文件/
1.4.3從Git中簽出LLVM源代碼/
1.4.4本地LLVM配置/
1.4.5編譯LLVM套件源代碼/
1.4.6交叉編譯LLVM/
1.4.7LLVM目標文件的位置/
1.4.8可選配置項目/
1.5目錄布局/
1.6使用LLVM工具鏈的示例/
1.7LLVM常見問題/
1.8LLVM相關鏈接/
第2章 LLVM外部項目/
2.1LLDB調試器/
2.1.1LLDB基礎知識/
2.1.2LLDB控制臺/
2.2C 標準庫libc /
2.2.1libc 庫概述/
2.2.2Ubuntu下安裝Clang和libc /
2.3compiler-rt運行時庫/
2.3.1compiler-rt項目組成/
2.3.2compiler-rt的作用/
2.3.3平臺支持/
2.3.4compiler-rt源代碼結構/
2.3.5構建compiler-rt/
2.4DragonEgg /
2.4.1DragonEgg將LLVM作為GCC后端/
2.4.2DragonEgg實踐/
2.5構建RISC-V LLVM并編譯和運行test-suite/
2.5.1構建RISC-V的前期準備/
2.5.2開始構建/
2.5.3編譯test-suite/
2.5.4運行LLVM test-suite/
2.6Clang附加工具/
第3章 LLVM編譯器/
3.1LLVM與Clang源代碼的下載及編譯/
3.1.1下載并編譯 LLVM/
3.1.2Clang源代碼的下載與編譯/
3.2LLVM編譯器基礎結構/
3.2.1LLVM工作原理/
3.2.2LLVM的主要子項目/
3.2.3LLVM與Clang語法/
3.3LLVM三段式編譯 /
3.3.1傳統編譯器三段式設計及其實現/
3.3.2LLVM的三段式設計的實現/
3.4LLVM與Clang架構/
3.4.1LLVM與Clang架構簡介/
3.4.2編譯架構特點分析/
3.5LLVM與GCC的區別/
3.6LLVM IR/
3.6.1什么是LLVM IR/
3.6.2LLVM IR編譯流程/
3.6.3如何得到IR/
3.6.4IR文件鏈接/
3.6.5IR文件編譯流程/
3.6.6IR語法中的關鍵字/
3.7詞法分析與語法分析/
3.7.1詞法分析/
3.7.2AST結構分析/
3.8交叉編譯器/
3.8.1主機與目標機/
3.8.2為什么要交叉編譯/
3.8.3交叉編譯難點/
3.9后端開發/
3.9.1XLA后端分析/
3.9.2SSA問題分析/
3.9.3目標信息代碼分析/
3.10LLVM示例實踐/
3.10.1如何在ARM上編譯LLVM/Clang/
3.10.2如何編寫LLVM Pass/
3.10.3基于LLVM的依賴分析方案/
3.11LLVM數據并行、時間并行和多核并行/
第4章 Clang前端基礎/
4.1編譯器Clang會代替GCC嗎/
4.1.1GCC概述/
4.1.2Clang概述/
4.1.3GCC基本設計與示例/
4.1.4GCC與Clang的區別/
4.2使用 Clang 靜態分析器進行分析調試/
4.2.1靜態分析器概述/
4.2.2靜態分析器庫的結構/
4.2.3靜態分析器工作原理/
4.2.4內部檢查器/
4.2.5關于 Clang 靜態分析器/
4.3如何進行編譯時間混編優化/
4.4Clang模塊實現原理探究/
4.4.1ModuleMap 與 Umbrella/
4.4.2模塊的構建/
4.4.3Clang模塊復用機制/
4.4.4PCH與PCM文件/
4.5使用Clang校驗AST/
4.5.1制作Clang命令行工具的初衷/
4.5.2制作Clang命令行工具主要步驟/
4.5.3環境搭建/
4.5.4開發框架選擇/
4.5.5代碼開發/
4.6LLVM與Clang的底層原理/
4.6.1傳統編譯器設計/
4.6.2Clang前端/
4.6.3IR的優化/
4.6.4bitcode/
4.6.5編譯流程總結示例/
4.7自定義Clang命令,利用LLVM Pass實現對Objective-C函數的靜態插樁/
4.7.1Objective-C中的常見的函數hook實現思路/
4.7.2什么是LLVM Pass/
4.7.3編譯過程/
4.8指令系統/
4.8.1指令系統概述/
4.8.2指令格式/
4.8.3指令的尋址方式/
4.8.4指令的類型與功能/
4.8.5CISC和RISC的比較/
第5章 Clang架構與實踐示例/
5.1C語言編譯器Clang/
5.1.1Clang和GCC編譯器架構/
5.1.2Clang起源/
5.2Clang模塊內部實現原理及源代碼分析/
5.2.1編譯參數分析/
5.2.2預處理/
5.3好用的代碼檢查工具/
5.4Clang在Objective-C中的使用/
5.4.1終端使用特點/
5.4.2Clang的簡單使用/
5.5Clang重排對象類結構分析/
5.5.1概述/
5.5.2根類、超類、子類/
5.6使用Clang編譯C程序并在安卓設備中執行/
5.7分析Swift高效的原因/
5.7.1Swift的函數派發機制/
5.7.2結構體定義的內存分配/
5.7.3編譯SIL/
5.7.4Clang編譯流程的缺點/
5.7.5Swift的特點及其編譯器的使用流程/
5.8LLVM中矩陣的實現分析/
5.8.1背景說明/
5.8.2功能實現/
5.8.3舉例說明/
第6章 LLVM IR實踐/
6.1LLVM架構簡介/
6.1.1LLVM IR的演變/
6.1.2LLVM IR是什么/
6.1.3LLVM架構/
6.1.4前端生成中間代碼/
6.1.5LLVM后端優化IR/
6.1.6LLVM后端生成匯編代碼/
6.2獲取LLVM IR/
6.2.1LLVM IR的三種形式/
6.2.2LLVM IR結構/
6.2.3標識符與變量/
6.3LLVM IR實踐——Hello world/
6.3.1LLVM IR程序設計方法概述/
6.3.2*基本的程序/
6.3.3基本概念解釋/
6.3.4主程序/
6.4LLVM IR數據表示/
6.4.1匯編層次的數據表示/
6.4.2LLVM IR中的數據表示/
6.4.3鏈接類型/
6.4.4可見性/
6.4.5寄存器/
6.5LLVM IR類型系統/
6.5.1類型系統/
6.5.2元數據類型/
6.5.3屬性/
6.6LLVM IR控制語句/
6.6.1匯編語言層面的控制語句/
6.6.2LLVM IR層面的控制語句/
6.7LLVM IR語法鏈接類型/
6.8LLVM IR函數/
6.8.1定義與聲明/
6.8.2傳遞參數與獲得返回值/
6.8.3內置函數、屬性和元數據/
6.9LLVM IR異常處理/
6.9.1異常處理的要求/
6.9.2LLVM IR的異常處理/
6.9.3怎么拋/
6.9.4怎么接/
第7章 LLVM芯片編譯器實踐示例/
7.1編譯器基本概念/
7.1.1LLVM的模塊化編譯器框架/
7.1.2前端在干什么/
7.1.3后端在干什么/
7.1.4DAG下譯/
7.1.5DAG合法化/
7.1.6小結/
7.2從無到有開發/
7.2.1不必從頭開始開發/
7.2.2需要添加的文件類型/
7.2.3從文件角度看整體框架/
7.2.4從類繼承與派生角度看整體框架/
7.3芯片的整體架構部分/
7.3.1×××.h類文件/
7.3.2×××.td類文件/
7.3.3×××TargetMachine.cpp和×××TargetMachine.h類文件/
7.3.4×××MCTargetDesc類文件/
7.3.5×××baseInfo類文件/
7.3.6×××TargetInfo類文件/
7.3.7×××Subtarget類文件/
7.3.8幾個容易混淆的概念/
7.3.9小結/
7.4寄存器信息/
7.4.1×××Registerinfo.td類文件/
7.4.2×××RegisterInfo類文件/
7.4.3×××SERegisterinfo類文件/
7.5指令描述的.td文件/
7.5.1×××InstrFormats.td類文件/
7.5.2×××InstrInfo.td類文件/
7.5.3依次定義指令/
7.5.4定義指令的自動轉換/
7.5.5小結/
7.6指令描述的.cpp文件/
7.6.1×××InstrInfo.cpp(.h)類文件/
7.6.2×××SEInstrInfo.cpp(.h)類文件/
7.6.3×××AnalyzeImmediate.cpp(.h)類文件/
第8章 LLVM編譯器示例代碼分析/
8.1建立編譯器的基礎框架/
8.2使用 LLVM 實現一個簡單編譯器/
8.2.1目標/
8.2.2詞法分析/
8.2.3語法分析/
8.2.4LLVM IR的代碼生成/
8.2.5優化器/
8.2.6添加JIT編譯器/
8.2.7靜態單一賦值/
8.2.8控制流/
8.2.9用戶自定義操作符/
8.2.10可變變量/
第9章 LLVM優化示例/
9.1LLVM優化示例介紹/
9.1.1編譯器優化目標/
9.1.2LLVM優化Pass如何工作/
9.1.3聚集對象的標量替換/
9.1.4公共子表達式消除/
9.1.5全局變量優化器 /
9.1.6指令合并器/
9.2改進優化條件/
9.2.1偏轉循環移動代碼/
9.2.2運行規范化自然循環/
9.2.3歸納變量簡化/
9.2.4進行比特追蹤死代碼消除/
9.3鏈接時優化/
9.3.1LTO基本概念/
9.3.2LTO優化處理/
9.3.3linkmap分析/
9.4Nutshell LLVM LTO/
9.4.1ThinLTO/
9.4.2高度并行的前端處理和初始優化/
9.5LLVM完全LTO/
9.5.1LLVM完全LTO的目標/
9.5.2LLD的整個執行流程/
9.6LLVM核心類簡明示例/
第10章 LLVM后端實踐/
10.1LLVM后端概述/
10.1.1LLVM后端基本概念/
10.1.2使用Cpu0作為硬件的例子/
10.2LLVM新后端初始化和軟件編譯/
10.2.1新后端初始化和軟件編譯/
10.2.2LLVM 代碼結構/
10.2.3Cpu0后端初始化/
10.2.4LLVM后端結構/
10.2.5增加 AsmPrinter/
10.2.6增加 DAGToDAGISel/
10.2.7增加 Prologue和Epilogue 部分代碼/
10.2.8操作數模式/
10.2.9小結/
10.3算術和邏輯運算指令/
10.3.1算術運算指令/
10.3.2邏輯運算指令/
10.4生成目標文件/
10.4.1簡要說明/
10.4.2文件新增/
10.4.3文件修改/
10.4.4檢驗成果/
10.5全局變量/
10.5.1全局變量編譯選項/
10.5.2代碼修改/
10.5.3檢驗成果/
10.5.4小結/
10.6更多數據類型/
10.6.1實現類型/
10.6.2代碼修改/
10.6.3檢驗成果/
10.7控制流/
10.7.1控制流語句/
10.7.2消除無用的JMP指令/
10.7.3填充跳轉延遲槽/
10.7.4條件MOV指令/
10.8函數調用/
10.8.1棧幀結構/
10.8.2傳入參數/
10.8.3函數調用優化/
10.9ELF文件支持/
10.9.1ELF文件/
10.9.2支持反匯編/
10.10匯編/
10.10.1棧幀管理/
10.10.2匯編器/
10.10.3內聯匯編/
10.11使用仿真器驗證編譯器/
10.11.1運行仿真器/
10.11.2小結/
第11章 MLIR編譯器/
11.1MLIR語言參考/
11.1.1高層結構/
11.1.2MLIR符號/
11.1.3MLIR作用域/
11.1.4控制流和SSACFG作用域/
11.1.5類型系統/
11.1.6方言類型/
11.2MLIR方言及運行分析/
11.2.1MLIR簡介/
11.2.2常見的IR表示系統/
11.2.3MLIR的提出/
11.3方言及運行詳解/
11.3.1方言/
11.3.2運行結構拆分/
11.3.3創建新的方言操作/
11.3.4將方言加載到 MLIRContext 中/
11.3.5定義操作/
11.3.6創建方言流程總結(使用ODS)/
11.4MLIR 運算與算子/
11.4.1MLIR 運算與算子概述/
11.4.2運算類(Operation)/
11.4.3算子類(Op)/
11.4.4MLIR OpBase.td算子類的作用/
11.4.5MLIR 運算的構建過程/
11.4.6MLIR TableGen后端生成算子代碼/
11.5MLIR的緣起/
11.6MLIR部署/
11.6.1MLIR部署流程/
11.6.2MLIR應用/
11.7MLIR介紹/
11.8MLIR基本數據結構/
11.8.1MLIR源代碼目錄/
11.8.2MLIR簡易UML類圖/
11.8.3開發中用到的具體數據結構/
11.9MLIR的出現背景與提供的解決方案/
11.9.1概述/
11.9.2解決方案/
11.10機器學習編譯器:MLIR方言體系/
11.10.1基礎組件/
11.10.2方言體系/
參考文獻/
展開全部

LLVM編譯器原理與實踐 作者簡介

吳建明,上海交通大學圖像研究所博士研究生,長期在華為上海研究所工作,F為芯盟科技上海研發中心AI芯片總架構師、聯合創始人。長期從事人工智能芯片、自動駕駛、人工智能編譯器與工具鏈、AI Framework框架、CameraISP、Audio/VideoCodec、計算機視覺、深度學習、嵌入式軟件等研究性工作。帶領團隊完成了自動駕駛芯片整體架構設計、軟件系統整體架構設計、人工智能框架編譯器與工具鏈設計、端到端應用場景分析攝像頭目標檢測分析,語音識別分析,推薦系統分析、TensorRT/nvGraph應用GPU部署deploy設計分析等重點項目。在核心期刊發表過10余篇論文,在各論壇有關自動駕駛和芯片設計領域有很高的知名度。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 水成膜泡沫灭火剂_氟蛋白泡沫液_河南新乡骏华消防科技厂家 | 安全,主动,被动,柔性,山体滑坡,sns,钢丝绳,边坡,防护网,护栏网,围栏,栏杆,栅栏,厂家 - 护栏网防护网生产厂家 | 找培训机构_找学习课程_励普教育 | 斗式提升机,斗式提升机厂家-淄博宏建机械有限公司 | 北京发电车出租-发电机租赁公司-柴油发电机厂家 - 北京明旺盛安机电设备有限公司 | 空气净化器租赁,空气净化器出租,全国直租_奥司汀净化器租赁 | 废气处理设备-工业除尘器-RTO-RCO-蓄热式焚烧炉厂家-江苏天达环保设备有限公司 | YJLV22铝芯铠装电缆-MYPTJ矿用高压橡套电缆-天津市电缆总厂 | 层流手术室净化装修-检验科ICU改造施工-华锐净化工程-特殊科室建设厂家 | 深圳法律咨询【24小时在线】深圳律师咨询免费 | 电气控制系统集成商-PLC控制柜变频控制柜-非标自动化定制-电气控制柜成套-NIDEC CT变频器-威肯自动化控制 | 安驭邦官网-双向万能直角铣头,加工中心侧铣头,角度头[厂家直销] 闸阀_截止阀_止回阀「生产厂家」-上海卡比阀门有限公司 | 实体店商新零售|微赢|波后|波后合作|微赢集团 | 深圳市超时尚职业培训学校,培训:月嫂,育婴,养老,家政;化妆,美容,美发,美甲. | 成都中天自动化控制技术有限公司 | 手板-手板模型-手板厂-手板加工-生产厂家,[东莞创域模型] | 开云(中国)Kaiyun·官方网站 - 登录入口 | 温室大棚建设|水肥一体化|物联网系统 | 步进驱动器「一体化」步进电机品牌厂家-一体式步进驱动 | 电主轴,车床电磨头,变频制动电机-博山鸿达特种电机 | 智能型高压核相仪-自动开口闪点测试仪-QJ41A电雷管测试仪|上海妙定 | 电动手术床,医用护理床,led手术无影灯-曲阜明辉医疗设备有限公司 | 贝朗斯动力商城(BRCPOWER.COM) - 买叉车蓄电池上贝朗斯商城,价格更超值,品质有保障! | 深圳APP开发公司_软件APP定制开发/外包制作-红匣子科技 | 哈希余氯测定仪,分光光度计,ph在线监测仪,浊度测定仪,试剂-上海京灿精密机械有限公司 | 玻璃瓶厂家_酱菜瓶厂家_饮料瓶厂家_酒瓶厂家_玻璃杯厂家_徐州东明玻璃制品有限公司 | 齿轮减速电机一体机_蜗轮蜗杆减速马达-德国BOSERL齿轮减速机带电机生产厂家 | 等离子表面处理机-等离子表面活化机-真空等离子清洗机-深圳市东信高科自动化设备有限公司 | 定制奶茶纸杯_定制豆浆杯_广东纸杯厂_[绿保佳]一家专业生产纸杯碗的厂家 | 临时厕所租赁_玻璃钢厕所租赁_蹲式|坐式厕所出租-北京慧海通 | 活性炭厂家-蜂窝活性炭-粉状/柱状/果壳/椰壳活性炭-大千净化-活性炭 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 | 喷砂机厂家_自动喷砂机生产_新瑞自动化喷砂除锈设备 | 高压绝缘垫-红色配电房绝缘垫-绿色高压绝缘地毯-上海苏海电气 | 散热器-电子散热器-型材散热器-电源散热片-镇江新区宏图电子散热片厂家 | 低压载波电能表-单相导轨式电能表-华邦电力科技股份有限公司-智能物联网综合管理平台 | 小型气象站_车载气象站_便携气象站-山东风途物联网 | 钢丝绳探伤仪-钢丝绳检测仪-钢丝绳探伤设备-洛阳泰斯特探伤技术有限公司 | 【中联邦】增稠剂_增稠粉_水性增稠剂_涂料增稠剂_工业增稠剂生产厂家 | 武汉EPS线条_EPS装饰线条_EPS构件_湖北博欧EPS线条厂家 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库-首页-东莞市傲马网络科技有限公司 |