summaryrefslogtreecommitdiff
path: root/src/cpu/pred/2bit_local.cc
diff options
context:
space:
mode:
authorMitch Hayenga <mitch.hayenga@arm.com>2016-04-05 12:20:19 -0500
committerMitch Hayenga <mitch.hayenga@arm.com>2016-04-05 12:20:19 -0500
commitd99deff8ea296fd28b48da08aba577a1e7dfc01b (patch)
treebb8645f94f33b45b040776e5e0dd0a0d8edb306f /src/cpu/pred/2bit_local.cc
parent0fd4bb7f12d8a633f3ff0abe61d4f3a78bca6f84 (diff)
downloadgem5-d99deff8ea296fd28b48da08aba577a1e7dfc01b.tar.xz
cpu: Implement per-thread GHRs
Branch predictors that use GHRs should index them on a per-thread basis. This makes that so. This is a re-spin of fb51231 after the revert (bd1c6789).
Diffstat (limited to 'src/cpu/pred/2bit_local.cc')
-rw-r--r--src/cpu/pred/2bit_local.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/cpu/pred/2bit_local.cc b/src/cpu/pred/2bit_local.cc
index 36ca1593e..9e1c781c5 100644
--- a/src/cpu/pred/2bit_local.cc
+++ b/src/cpu/pred/2bit_local.cc
@@ -78,7 +78,7 @@ LocalBP::reset()
}
void
-LocalBP::btbUpdate(Addr branch_addr, void * &bp_history)
+LocalBP::btbUpdate(ThreadID tid, Addr branch_addr, void * &bp_history)
{
// Place holder for a function that is called to update predictor history when
// a BTB entry is invalid or not found.
@@ -86,7 +86,7 @@ LocalBP::btbUpdate(Addr branch_addr, void * &bp_history)
bool
-LocalBP::lookup(Addr branch_addr, void * &bp_history)
+LocalBP::lookup(ThreadID tid, Addr branch_addr, void * &bp_history)
{
bool taken;
uint8_t counter_val;
@@ -117,7 +117,8 @@ LocalBP::lookup(Addr branch_addr, void * &bp_history)
}
void
-LocalBP::update(Addr branch_addr, bool taken, void *bp_history, bool squashed)
+LocalBP::update(ThreadID tid, Addr branch_addr, bool taken, void *bp_history,
+ bool squashed)
{
assert(bp_history == NULL);
unsigned local_predictor_idx;
@@ -152,7 +153,7 @@ LocalBP::getLocalIndex(Addr &branch_addr)
}
void
-LocalBP::uncondBranch(Addr pc, void *&bp_history)
+LocalBP::uncondBranch(ThreadID tid, Addr pc, void *&bp_history)
{
}