summaryrefslogtreecommitdiff
path: root/src/cpu/pred/2bit_local.cc
diff options
context:
space:
mode:
authorDibakar Gope <gope@wisc.edu>2015-04-13 17:33:57 -0500
committerDibakar Gope <gope@wisc.edu>2015-04-13 17:33:57 -0500
commit34ad1123ee5927e3b1503f07649620a533d3eab9 (patch)
treee655941704abbbafad01966bfa188449a336aaef /src/cpu/pred/2bit_local.cc
parente596e524985cfb1f4d46aceebe69bb7fcd94cf04 (diff)
downloadgem5-34ad1123ee5927e3b1503f07649620a533d3eab9.tar.xz
cpu: re-organizes the branch predictor structure.
Committed by: Nilay Vaish <nilay@cs.wisc.edu>
Diffstat (limited to 'src/cpu/pred/2bit_local.cc')
-rw-r--r--src/cpu/pred/2bit_local.cc13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/cpu/pred/2bit_local.cc b/src/cpu/pred/2bit_local.cc
index 0fd0a10d3..36ca1593e 100644
--- a/src/cpu/pred/2bit_local.cc
+++ b/src/cpu/pred/2bit_local.cc
@@ -34,11 +34,10 @@
#include "cpu/pred/2bit_local.hh"
#include "debug/Fetch.hh"
-LocalBP::LocalBP(const Params *params)
+LocalBP::LocalBP(const LocalBPParams *params)
: BPredUnit(params),
localPredictorSize(params->localPredictorSize),
- localCtrBits(params->localCtrBits),
- instShiftAmt(params->instShiftAmt)
+ localCtrBits(params->localCtrBits)
{
if (!isPowerOf2(localPredictorSize)) {
fatal("Invalid local predictor size!\n");
@@ -153,6 +152,12 @@ LocalBP::getLocalIndex(Addr &branch_addr)
}
void
-LocalBP::uncondBranch(void *&bp_history)
+LocalBP::uncondBranch(Addr pc, void *&bp_history)
{
}
+
+LocalBP*
+LocalBPParams::create()
+{
+ return new LocalBP(this);
+}