Lines Matching full:writes
291 // Check if this is one of multiple writes performed by this in addRegisterWrite()
404 // We only allow move elimination for writes that update a full physical in canEliminateMove()
406 // registers because writes to those registers are not partial writes. If a in canEliminateMove()
426 bool RegisterFile::tryEliminateMoveOrSwap(MutableArrayRef<WriteState> Writes, in tryEliminateMoveOrSwap() argument
428 if (Writes.size() != Reads.size()) in tryEliminateMoveOrSwap()
431 // This logic assumes that writes and reads are contributed by a register move in tryEliminateMoveOrSwap()
434 // exactly two writes. in tryEliminateMoveOrSwap()
435 if (Writes.empty() || Writes.size() > 2) in tryEliminateMoveOrSwap()
440 RegisterMappings[Writes[0].getRegisterID()].second; in tryEliminateMoveOrSwap()
446 (RMT.NumMoveEliminated + Writes.size()) > RMT.MaxMoveEliminatedPerCycle) in tryEliminateMoveOrSwap()
449 for (size_t I = 0, E = Writes.size(); I < E; ++I) { in tryEliminateMoveOrSwap()
451 const WriteState &WS = Writes[E - (I + 1)]; in tryEliminateMoveOrSwap()
456 for (size_t I = 0, E = Writes.size(); I < E; ++I) { in tryEliminateMoveOrSwap()
458 WriteState &WS = Writes[E - (I + 1)]; in tryEliminateMoveOrSwap()
504 SmallVectorImpl<WriteRef> &Writes, in collectWrites() argument
511 LLVM_DEBUG(dbgs() << "[PRF] collecting writes for register " in collectWrites()
521 Writes.push_back(WR); in collectWrites()
536 Writes.push_back(WR); in collectWrites()
549 if (Writes.size() > 1) { in collectWrites()
550 sort(Writes, [](const WriteRef &Lhs, const WriteRef &Rhs) { in collectWrites()
553 auto It = llvm::unique(Writes); in collectWrites()
554 Writes.resize(std::distance(Writes.begin(), It)); in collectWrites()
558 for (const WriteRef &WR : Writes) { in collectWrites()
571 SmallVector<WriteRef, 4> Writes; in checkRAWHazards() local
578 collectWrites(STI, RS, Writes, CommittedWrites); in checkRAWHazards()
579 for (const WriteRef &WR : Writes) { in checkRAWHazards()
601 Writes.clear(); in checkRAWHazards()
634 // We know that this read depends on all the writes in DependentWrites. in addRegisterRead()