如何获取 LLVM IR 指令的文本表示?
How to get the textual representation of an LLVM IR instruction?
如果 I
是 llvm::Instruction
类型,我们可以通过 errs() << I;
以人类可读的形式(文本表示)打印出相同的内容
我想要将完全相同的表示分配给 std::string
到 C 类型的字符串。我该怎么做?
好吧,LLVM 也提供了一个字符串流:
#include <llvm/Support/raw_ostream.h>
这样使用:
std::string str;
llvm::raw_string_ostream(str) << I;
// use str
我 运行 使用 @eush77 的回答解决了一些问题。这是我的解决方法。
std::string str;
llvm::raw_string_ostream ss(str);
ss << I;
errs() << ss.str() << "\n";
如果 I
是 llvm::Instruction
类型,我们可以通过 errs() << I;
我想要将完全相同的表示分配给 std::string
到 C 类型的字符串。我该怎么做?
好吧,LLVM 也提供了一个字符串流:
#include <llvm/Support/raw_ostream.h>
这样使用:
std::string str;
llvm::raw_string_ostream(str) << I;
// use str
我 运行 使用 @eush77 的回答解决了一些问题。这是我的解决方法。
std::string str;
llvm::raw_string_ostream ss(str);
ss << I;
errs() << ss.str() << "\n";