summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-mca/Backend.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools/llvm-mca/Backend.cpp')
-rw-r--r--llvm/tools/llvm-mca/Backend.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/llvm/tools/llvm-mca/Backend.cpp b/llvm/tools/llvm-mca/Backend.cpp
index 9b88c0af6c1..7c466996c2c 100644
--- a/llvm/tools/llvm-mca/Backend.cpp
+++ b/llvm/tools/llvm-mca/Backend.cpp
@@ -30,7 +30,7 @@ void Backend::addEventListener(HWEventListener *Listener) {
}
void Backend::run() {
- while (Fetch->isReady() || !DU->isRCUEmpty())
+ while (Fetch->isReady() || !Dispatch->isReady())
runCycle(Cycles++);
}
@@ -39,10 +39,8 @@ void Backend::runCycle(unsigned Cycle) {
InstRef IR;
while (Fetch->execute(IR)) {
- const InstrDesc &Desc = IR.getInstruction()->getDesc();
- if (!DU->isAvailable(Desc.NumMicroOps) || !DU->canDispatch(IR))
+ if (!Dispatch->execute(IR))
break;
- DU->dispatch(IR, STI);
Fetch->postExecute(IR);
}
@@ -54,7 +52,7 @@ void Backend::notifyCycleBegin(unsigned Cycle) {
for (HWEventListener *Listener : Listeners)
Listener->onCycleBegin();
- DU->cycleEvent();
+ Dispatch->cycleEvent();
HWS->cycleEvent();
}
OpenPOWER on IntegriCloud