2010-08-29 92 views
11

我正在用LLVM編寫一個編譯器。每個源文件都被編譯成一個LLVM位碼文件。最終鏈接器將所有位代碼文件鏈接並優化爲一個最終的二進制文件。是否有可能將LLVM位代碼文件讀入到llvm :: Module中?

我需要一種方法來讀取編譯器中的位碼文件以訪問類型信息。 LLVM文檔顯示名爲BitcodeReader的類,但似乎是LLVM的內部。

有沒有公開的方法可以將位代碼文件讀入llvm::Module

+0

根據我在LLVM方面的經驗,我對LLVM的內部代碼有印象:沒有其他東西可以讀取位碼文件。 – Dummy00001 2010-08-29 22:47:58

回答

13

我通過源看向llvm-dis工具,並發現我一直在尋找的功能:

Module *ParseBitcodeFile(MemoryBuffer *Buffer, LLVMContext& Context, 
         std::string *ErrMsg = 0); 

llvm/Bitcode/ReaderWriter.h

+0

這正是你需要的。 – 2010-09-04 11:49:40