Я попытался использовать 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.