如何获得LLVM IR指令的文本表示?
问题描述:
如果I
是llvm::Instruction
型的,我们可以通过errs() << I;
如何获得LLVM IR指令的文本表示?
打印出人类可读的形式(文本表示)相同的我想要的分配完全相同的表述到std::string
到C类型的字符串。我怎样才能做到这一点?
答
好,LLVM提供了一个字符串流,以及:
#include <llvm/Support/raw_ostream.h>
使用方法如下:
std::string str;
llvm::raw_string_ostream(str) << I;
// use str