我正在编写一个带有LLVM的编译器。每个源文件都编译为LLVM bitcode文件。最终,链接器将所有bitcode文件链接并优化为最终的二进制文件。
我需要一种方法来读取编译器中的bitcode文件以访问类型信息。 LLVM文档显示了一个名为BitcodeReader
的类,但它似乎是LLVM的内部。
是否有任何可公开访问的方式将bitcode文件读入llvm::Module
?
答案 0 :(得分:15)
我浏览了llvm-dis
工具的源代码,找到了我正在寻找的功能:
Module *ParseBitcodeFile(MemoryBuffer *Buffer, LLVMContext& Context,
std::string *ErrMsg = 0);
来自llvm/Bitcode/ReaderWriter.h
。