LLVM パスの実行中にセグメンテーション違反が発生しました。基本ブロックの反復「for」ループの外で BBterminators 配列を使用する必要があります。TerminatorInst *BasicBlock::getTerminator()
ループを反復するとき、LLVM はアドレス (注: ) を保護しないようInstruction
ですInstruction *
。Instructions
全体をにコピーするにはどうすればよいBBterminators
ですか?
for (Function::iterator II = F.begin(), EE = F.end(); II != EE; ++II, ++ii)
{
BasicBlock* BB = (dyn_cast<BasicBlock>(II));
if (BB->getTerminator())
{
Instruction *current = BB->getTerminator();
Instruction *previous = current->getPrevNode();
if (current->getOpcode() == Instruction::Br)
{
BBterminators[ii] = current;
どこInstruction **BBterminators = new Instruction *[100];