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