summaryrefslogtreecommitdiffstats
path: root/llvm/tools
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools')
-rw-r--r--llvm/tools/llvm-mca/Dispatch.cpp17
-rw-r--r--llvm/tools/llvm-mca/Dispatch.h2
2 files changed, 4 insertions, 15 deletions
diff --git a/llvm/tools/llvm-mca/Dispatch.cpp b/llvm/tools/llvm-mca/Dispatch.cpp
index 52968ea1174..3614d4d0972 100644
--- a/llvm/tools/llvm-mca/Dispatch.cpp
+++ b/llvm/tools/llvm-mca/Dispatch.cpp
@@ -119,17 +119,6 @@ void RegisterFile::invalidateRegisterMapping(const WriteState &WS) {
RegisterMappings[*I].first = nullptr;
}
-// Update the number of used mappings in the event of instruction retired.
-// This mehod delegates to the register file the task of invalidating
-// register mappings that were created for instruction IS.
-void DispatchUnit::invalidateRegisterMappings(const Instruction &IS) {
- for (const std::unique_ptr<WriteState> &WS : IS.getDefs()) {
- DEBUG(dbgs() << "[RAT] Invalidating mapping for: ");
- DEBUG(WS->dump());
- RAT->invalidateRegisterMapping(*WS.get());
- }
-}
-
void RegisterFile::collectWrites(SmallVectorImpl<WriteState *> &Writes,
unsigned RegID) const {
assert(RegID && RegID < RegisterMappings.size());
@@ -243,7 +232,9 @@ void DispatchUnit::notifyInstructionRetired(unsigned Index) {
HWInstructionEvent(HWInstructionEvent::Retired, Index));
const Instruction &IS = Owner->getInstruction(Index);
- invalidateRegisterMappings(IS);
+ for (const std::unique_ptr<WriteState> &WS : IS.getDefs())
+ RAT->invalidateRegisterMapping(*WS.get());
+
Owner->eraseInstruction(Index);
}
@@ -374,7 +365,7 @@ unsigned DispatchUnit::dispatch(unsigned IID, Instruction *NewInst,
// Allocate new mappings.
for (std::unique_ptr<WriteState> &WS : NewInst->getDefs())
- addNewRegisterMapping(*WS);
+ RAT->addRegisterMapping(*WS);
// Set the cycles left before the write-back stage.
const InstrDesc &D = NewInst->getDesc();
diff --git a/llvm/tools/llvm-mca/Dispatch.h b/llvm/tools/llvm-mca/Dispatch.h
index bd7bd168901..ceb36138114 100644
--- a/llvm/tools/llvm-mca/Dispatch.h
+++ b/llvm/tools/llvm-mca/Dispatch.h
@@ -302,7 +302,6 @@ public:
unsigned getTotalRegisterMappingsCreated(unsigned RegFileIndex = 0) const {
return RAT->getTotalRegisterMappingsCreated(RegFileIndex);
}
- void addNewRegisterMapping(WriteState &WS) { RAT->addRegisterMapping(WS); }
void cycleEvent(unsigned Cycle) {
RCU->cycleEvent();
@@ -319,7 +318,6 @@ public:
RCU->onInstructionExecuted(TokenID);
}
- void invalidateRegisterMappings(const Instruction &Inst);
#ifndef NDEBUG
void dump() const;
#endif
OpenPOWER on IntegriCloud