diff --git a/src/midend/Pass/Optimize/SysYIRCFGOpt.cpp b/src/midend/Pass/Optimize/SysYIRCFGOpt.cpp index 3477864..3f9ffe1 100644 --- a/src/midend/Pass/Optimize/SysYIRCFGOpt.cpp +++ b/src/midend/Pass/Optimize/SysYIRCFGOpt.cpp @@ -116,7 +116,8 @@ bool SysYCFGOptUtils::SysYBlockMerge(Function *func) { // 用usedelete删除会导致use关系被删除我只希望移动指令到当前块 // institer = SysYIROptUtils::usedelete(institer); // institer = nextBlock->getInstructions().erase(institer); - nextBlock->moveInst(institer, block->getInstructions().end(), block); + institer = nextBlock->moveInst(institer, block->getInstructions().end(), block); + } // 更新前驱后继关系,类似树节点操作 block->removeSuccessor(nextBlock);