如何获取 LLVM IR 指令的文本表示?

Hol*_*ock 6 llvm llvm-clang llvm-ir

如果I是 类型llvm::Instruction,我们可以通过以下方式以人类可读的形式(文本表示)打印出相同的内容errs() << I;

我希望将完全相同的表示分配给std::stringC 类型字符串。我怎样才能做到这一点?

eus*_*h77 7

LLVM 也提供了字符串流:

#include <llvm/Support/raw_ostream.h>
Run Code Online (Sandbox Code Playgroud)

像这样使用它:

std::string str;
llvm::raw_string_ostream(str) << I;

// use str
Run Code Online (Sandbox Code Playgroud)