LLVM編譯器實(shí)戰(zhàn)教程
LLVM是一個(gè)世界領(lǐng)先水平的編譯器框架。它包含有豐富軟件庫,可以為編譯器的初學(xué)者提供良好的學(xué)習(xí)體驗(yàn),并大大降低編譯器開發(fā)的學(xué)習(xí)門檻。
本書的前半部分將向您介紹怎么樣去配置、構(gòu)建、和安裝LLVM的不同軟件庫、工具和外部項(xiàng)目。接下來,本書的后半部分將向您介紹LLVM的各種設(shè)計(jì)細(xì)節(jié),并逐步地講解LLVM的各個(gè)編譯步驟:前段、中間表示(IR)、后端、即時(shí)編譯(JIT)引擎、跨平臺(tái)編譯和插件接口。本書包含有大量翔實(shí)的示例和代碼片段,以幫助讀者平穩(wěn)順利的掌握LLVM的編譯器開發(fā)環(huán)境。
布魯諾·卡多索·洛佩斯(Bruno Cardoso Lopes)在巴西坎皮納斯大學(xué)獲得計(jì)算機(jī)科學(xué)博士學(xué)位。自2007年以來,他一直是LLVM的貢獻(xiàn)者,從頭開始實(shí)現(xiàn)MIPS后端,并且已經(jīng)維護(hù)了幾年。另外,他還編寫了x86 AVX支持方案,并改進(jìn)了ARM匯編器。他的研究興趣包括代碼壓縮技術(shù)和對(duì)ISA進(jìn)行位寬壓縮。之前他還開發(fā)了Linux和FreeBSD操作系統(tǒng)的驅(qū)動(dòng)程序。
拉斐爾·奧勒(Rafael Auler)是巴西坎皮納斯大學(xué)的博士生,并擁有該大學(xué)計(jì)算機(jī)科學(xué)碩士學(xué)位和計(jì)算機(jī)工程學(xué)士學(xué)位。在作為碩士生期間,他編寫了一個(gè)可以根據(jù)體系結(jié)構(gòu)描述文件自動(dòng)生成LLVM后端的概念驗(yàn)證工具。目前,他的博士研究課題包括動(dòng)態(tài)二進(jìn)制翻譯、即時(shí)編譯器和計(jì)算機(jī)體系結(jié)構(gòu)。 Rafael還是微軟研究院2013年研究生研究獎(jiǎng)學(xué)金獲得者。
