diff --git a/src/mapleall/maple_me/src/simplifyCFG.cpp b/src/mapleall/maple_me/src/simplifyCFG.cpp index f166de5706e90856ccdf0b9b9b6056d1918302b6..672eaa876f3d0d2f92f6352cb626316fad401c6c 100644 --- a/src/mapleall/maple_me/src/simplifyCFG.cpp +++ b/src/mapleall/maple_me/src/simplifyCFG.cpp @@ -1140,14 +1140,16 @@ BB *SimplifyCFG::MergeSuccIntoPred(BB *pred, BB *succ) { bool isSuccEmpty = IsMeEmptyBB(*succ) && IsMplEmptyBB(*succ); if (!isSuccEmpty) { if (isMeIR) { - for (MeStmt *stmt = succ->GetFirstMe(); stmt != nullptr;) { + MeStmt *stmt = succ->GetFirstMe(); + while (stmt && (!succ->IsMeStmtEmpty())) { MeStmt *next = stmt->GetNextMeStmt(); succ->RemoveMeStmt(stmt); pred->AddMeStmtLast(stmt); stmt = next; } } else { - for (StmtNode *stmt = &succ->GetFirst(); stmt != nullptr;) { + StmtNode *stmt = &succ->GetFirst(); + while (stmt && (!succ->IsEmpty())) { StmtNode *next = stmt->GetNext(); succ->RemoveStmtNode(stmt); pred->AddStmtNode(stmt);