我希望从现有的LLVM IR代码创建一个LLVM模块。
我找到的两种方法如下:
ParseIRFile
- 接受文件名并生成模块ParseIR
- 接受MemoryBuffer并生成模块当LLVM IR已作为std::string
或const char *
读取到字符串时,我想创建一个模块。
有没有办法将IR字符串转换为llvm::MemoryBuffer
?
答案 0 :(得分:4)
我在同事的帮助下想到了这一点。
这就是你要做的:
std::string IRString = readfile("add.ll");
MemoryBuffer *mem = MemoryBuffer::getMemBuffer(IRString);