【发布时间】:2015-09-14 14:27:38
【问题描述】:
我尝试使用 AllocaInst 并将其插入到给定 BB 的末尾,如下所示:
bool runOnBasicBlock(BasicBlock &BB) override {
// BB is the address to a BasicBlock instance
errs() << BB.getName() << '\t';
BasicBlock *pb=&BB;
AllocaInst* pa = new AllocaInst(Type::getInt32Ty(getGlobalContext()), 0, "data");
pb->getInstList().push_back(pa); //Inserts pa in the end of basic block pb
//errs() << "\tstarts at\t" << i << "\tends at \t" << j << '\n';
return false;
}
我成功地链接并创建了我的 LLVMBasicBlock.so 文件。但是当我运行它来转换一个示例 .bc 文件时,它在处理 %data 时会引发分段错误。
【问题讨论】:
标签: llvm llvm-clang llvm-ir