2012-02-06 179 views
4

我有文本格式的LLVM IR代碼。我想要做的是能夠解析它並修改該代碼。有沒有可以幫助解析LLVM IR代碼的API?我應該在我的系統中使用哪些庫?在這一刻,我已經安裝了clang編譯器以及LLVM,因爲我可以使用命令如llc,optllvm-link如何解析LLVM IR

回答

5

LLVM主要是一個C++庫。它具有您可以想象的所有工具來解析,處理和生成文本和比特碼(二進制)格式的IR。

要開始,請查看標題include/llvm/Support/IRReader.h中定義的llvm::ParseIRFile函數。

繼續下一步的最佳方法是下載LLVM源代碼並編譯它,繼these instructions之後。編寫自己的使用LLVM庫的代碼很容易。

+0

我有llvm 2.7。我可以使用鏗鏘聲,但沒有鏗鏘聲++。任何想法如何添加clang ++,以便我可以開始使用您提到的C++庫? – pythonic 2012-02-06 13:09:37

+0

@ user1018562:你可以用'gcc'構建LLVM,不需要安裝'clang'。但是,您也可以安裝能夠自行構建LLVM的clang 3.0。請參閱http://clang.llvm.org/get_started.html – 2012-02-06 13:10:42

+0

@ user1018562:順便說一下,'clang ++'通常只是一個到'clang'的軟鏈接 – 2012-02-06 13:12:21