diff --git a/src/mapleall/maple_be/src/cg/aarch64/aarch64_color_ra.cpp b/src/mapleall/maple_be/src/cg/aarch64/aarch64_color_ra.cpp index 6e55e611115e0d0572a18970fa0f20456d9a4126..a4206d7dc78d80c6e32f2e4fdb3610397949de2f 100644 --- a/src/mapleall/maple_be/src/cg/aarch64/aarch64_color_ra.cpp +++ b/src/mapleall/maple_be/src/cg/aarch64/aarch64_color_ra.cpp @@ -3148,7 +3148,7 @@ void GraphColorRegAllocator::CollectCannotUseReg(std::unordered_set &ca */ if ((conflictLr->GetAssignedRegNO() > 0) && IsBitArrElemSet(conflictLr->GetBBMember(), insn.GetBB()->GetId())) { if (!AArch64Abi::IsCalleeSavedReg(static_cast(conflictLr->GetAssignedRegNO())) && - conflictLr->GetNumCall()) { + conflictLr->GetNumCall() && !conflictLr->GetProcessed()) { return; } (void)cannotUseReg.insert(conflictLr->GetAssignedRegNO());