diff --git a/IGC/Compiler/Optimizer/MCSOptimization.cpp b/IGC/Compiler/Optimizer/MCSOptimization.cpp index ab89bfc8114e..b96d16974287 100644 --- a/IGC/Compiler/Optimizer/MCSOptimization.cpp +++ b/IGC/Compiler/Optimizer/MCSOptimization.cpp @@ -182,6 +182,7 @@ void MCSOptimization::visitCallInst(llvm::CallInst& I) for (auto BB : useBlocks) { std::vector ldmsInstsToMove; + std::vector ldmsInstsToClub; for (auto inst = BB->begin(); inst != BB->end(); inst++) { if (LdmsInstrinsic * ldmsIntr = dyn_cast(inst)) @@ -203,7 +204,7 @@ void MCSOptimization::visitCallInst(llvm::CallInst& I) while (!allInstsWillBeMoved) { - std::vector ldmsInstsToClub; + ldmsInstsToClub.clear(); //Threshold is more than # of insts that are to be moved. So move all. if (instClubThreshold >= static_cast(ldmsInstsToMove.size())) {