做者:snsn1984 html
第一步:複習 編程
第三天的時候,咱們學習了LLVM的編程指引。在開始第四天的學習以前,須要複習以前學習過的兩篇文檔:
編程指引文檔 (
http://llvm.org/docs/ProgrammersManual.html)
這兩篇文檔是LLVM的重中之重,但願學習的時候認真一點,能掌握這些文檔的核心。
第二步:閱讀文檔 Write an LLVM pass
http://llvm.org/docs/WritingAnLLVMPass.html
在閱讀的過程當中,文檔中提到的例子要本身認真運行一下,而且對提到的實際代碼,要認真的閱讀。
對Pass的簡要介紹,可參加我以前的一個博文:
http://blog.csdn.net/snsn1984/article/details/8160696
同時,還有一個對Pass例子的分析:
http://blog.csdn.net/snsn1984/article/details/8568828
第三步:本身根據HelloWorld的例子,寫一個輸出一個函數中全部的BasicBlock的name的Pass. 這個Pass是FunctionPass的子類,經過本身實現runOnFunction,來實現輸出全部的BasicBlock的name. 在這個過程當中,要善於利於google搜索,經過本身查找Function類的成員函數,來找到本身須要的成員函數。 這個Pass的難度不大,只是和HelloWorld稍微不一樣。