将 std::string 转换为 llvm::MemoryBuffer

Pav*_*ili 2 llvm llvm-ir

我希望从现有的 LLVM IR 代码创建一个 LLVM 模块。

我发现的两种方法如下:

  • ParseIRFile- 这接受文件名并生成模块
  • ParseIR - 这接受 MemoryBuffer 并生成一个模块

当 LLVM IR 已作为std::stringor读取到字符串时,我想创建一个模块const char *

有没有办法将 IR 字符串转换为llvm::MemoryBuffer

Pav*_*ili 5

我在一位同事的帮助下解决了这个问题。

您将这样做:

std::string IRString = readfile("add.ll");
MemoryBuffer *mem = MemoryBuffer::getMemBuffer(IRString);
Run Code Online (Sandbox Code Playgroud)