0
我想通过LLVM通过删除IR代码中的分支指令。LLVM通过:删除IR中的所有分支发生错误
下面的代码是我的职责,通(Github):
virtual bool runOnFunction(Function &F) {
for (auto &B : F) {
for (auto &I : B) {
auto op_name = I.getOpcodeName();
if(strcmp(op_name, "br")==0) {
I.eraseFromParent();
}
}
}
return true;
}
的功能通成功编译,但是当我使用它test.c的,它发生像Pastebin
我不太知道什么容器用于存储指令,但可能这与你基本上被消除,而遍历同一容器修改的指令容器基本块的事实呢? – PaulR