我读过这个页面, http: //llvm.org/docs/WritingAnLLVMPass.html
我可以完全做 Hello.so 的例子。
现在我只想制作一个可以由 opt 调用的.so文件,并将我的 IR 文件名作为输入参数读取。在我提交它之后,它会输出文件的名称。
之前试过好几种方法,还是不知道怎么弄。。。
我希望我能做到这样。
opt -load ../Debug+Asserts/lib/xxxx.so -flag < llvm.ll > /dev/null
当我按 ENTER 时,它将输出文件名 - >“llvm.ll”
任何人都可以帮我写这个简单的程序,我将优化llvm IR作为我的学期项目,现在我卡在这里...帮助我,谢谢~
你能详细告诉我代码吗,这对我不起作用
using namespace llvm;
namespace {
struct Hello : public ModulePass {
static char ID;
Hello() : ModulePass(ID) {}
virtual bool runOnModule(Module &M) {
dbgs() << M.getModuleIdentifier() << "\n";
return false;
}
};
}
char Hello::ID = 0;
static RegisterPass<Hello> X("hello", "Hello World Pass", false, false);
~