我希望从现有的 LLVM IR 代码创建一个 LLVM 模块。
我发现的两种方法如下:
ParseIRFile
- 这接受文件名并生成模块ParseIR
- 这接受 MemoryBuffer 并生成一个模块当 LLVM IR 已作为std::string
or读取到字符串时,我想创建一个模块const char *
。
有没有办法将 IR 字符串转换为llvm::MemoryBuffer
?
我在一位同事的帮助下解决了这个问题。
您将这样做:
std::string IRString = readfile("add.ll");
MemoryBuffer *mem = MemoryBuffer::getMemBuffer(IRString);
Run Code Online (Sandbox Code Playgroud)