@@ -1991,7 +1991,7 @@ namespace IGC {
19911991 if (CurrentCandidateInsts.size () > 0 &&
19921992 Id == GenISAIntrinsic::GenISA_LSC2DBlockReadAddrPayload)
19931993 {
1994- if (!SinkFromPH && !allUsesAreDominatedByUndoPoint (CurrentCandidateInsts, CurrentCandidateInsts[0 ]))
1994+ if (!SinkFromPH && !allUsesAreDominatedByUndoPoint (CurrentCandidateInsts, CurrentCandidateInsts[0 ]-> getNextNode () ))
19951995 {
19961996 PrintDump (VerbosityLevel::High, " Not all the uses are dominated by the UndoPoint, skipping.\n " );
19971997 return false ;
@@ -2229,7 +2229,7 @@ namespace IGC {
22292229 }
22302230
22312231 DenseMap<InsertElementInst *, InstSet> DestVecToShuffleInst;
2232- SmallVector<Candidate, 16 > ShuffleCandidates;
2232+ CandidateVec ShuffleCandidates;
22332233 DenseMap<Instruction *, Candidate *> ShuffleInstToCandidate;
22342234
22352235 for (auto &VecIEs : SourceVectors)
@@ -2279,12 +2279,12 @@ namespace IGC {
22792279 PrintDump (VerbosityLevel::Medium, " DestVector used in the loop:\n " );
22802280 PrintInstructionDump (VerbosityLevel::Medium, DestVec);
22812281
2282- ShuffleCandidates.emplace_back ( InstrVec{}, TgtBB, SinkFromPH ? LoopSinkWorthiness::Sink : LoopSinkWorthiness::IntraLoopSink, nullptr );
2282+ ShuffleCandidates.push_back (std::make_unique<Candidate>( InstrVec{}, TgtBB, SinkFromPH ? LoopSinkWorthiness::Sink : LoopSinkWorthiness::IntraLoopSink, nullptr ) );
22832283 Changed = true ;
22842284
22852285 for (Instruction *I : ShuffleInst)
22862286 {
2287- ShuffleInstToCandidate[I] = & ShuffleCandidates.back ();
2287+ ShuffleInstToCandidate[I] = ShuffleCandidates.back (). get ();
22882288 }
22892289 }
22902290 }
0 commit comments