cpu: change the location of BTBlookup
authortv-reddy <tvreddy@ucdavis.edu>
Thu, 20 Feb 2020 07:30:41 +0000 (23:30 -0800)
committerTrivikram Reddy <tvreddy@ucdavis.edu>
Wed, 26 Feb 2020 22:53:43 +0000 (22:53 +0000)
BTBlookup should be done only if BTB is used, previously
this stat was updated for indirector predictor as well.

https: //gem5.atlassian.net/browse/GEM5-338
Change-Id: I20695dc7a8677d4fd0c4ae9f4f7d279387d5ad62
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25625
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Ayaz Akram <yazakram@ucdavis.edu>
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/cpu/pred/bpred_unit.cc

index a2faad1da760a1f031394456bb30910e4e8e4b87..3d9e3ea5aba403e9b1c2965942586e2bf72e6f69 100644 (file)
@@ -233,7 +233,6 @@ BPredUnit::predict(const StaticInstPtr &inst, const InstSeqNum &seqNum,
                     "RAS predicted target: %s, RAS index: %i\n",
                     tid, seqNum, pc, target, predict_record.RASIndex);
         } else {
-            ++BTBLookups;
 
             if (inst->isCall()) {
                 RAS[tid].push(pc);
@@ -250,6 +249,7 @@ BPredUnit::predict(const StaticInstPtr &inst, const InstSeqNum &seqNum,
             }
 
             if (inst->isDirectCtrl() || !iPred) {
+                ++BTBLookups;
                 // Check BTB on direct branches
                 if (BTB.valid(pc.instAddr(), tid)) {
                     ++BTBHits;