cpu: Don't assert on branch target addresses

We should assume a branch target can be any address.

JIRA: https://gem5.atlassian.net/browse/GEM5-483

Change-Id: I6f6da1f9260d6e8978536967dc7fcf1808965db2
Signed-off-by: Hsuan Hsu <hsuan.hsu@mediatek.com>
Signed-off-by: Howard Wang <Howard.Wang@mediatek.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/28347
Reviewed-by: Trivikram Reddy <tvreddy@ucdavis.edu>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Hsuan Hsu
2020-04-30 18:45:33 +08:00
committed by Hsuan Hsu
parent a872a103b7
commit f6ddd4aeb3
5 changed files with 0 additions and 9 deletions

View File

@@ -95,8 +95,6 @@ LTAGE::update(ThreadID tid, Addr branch_pc, bool taken, void* bp_history,
LTageBranchInfo* bi = static_cast<LTageBranchInfo*>(bp_history);
assert(corrTarget != MaxAddr);
if (squashed) {
if (tage->isSpeculativeUpdateEnabled()) {
// This restores the global history, then update it

View File

@@ -613,7 +613,6 @@ MultiperspectivePerceptron::update(ThreadID tid, Addr instPC, bool taken,
{
assert(bp_history);
MPPBranchInfo *bi = static_cast<MPPBranchInfo*>(bp_history);
assert(corrTarget != MaxAddr);
if (squashed) {
//delete bi;
return;

View File

@@ -605,8 +605,6 @@ MultiperspectivePerceptronTAGE::update(ThreadID tid, Addr instPC, bool taken,
assert(bp_history);
MPPTAGEBranchInfo *bi = static_cast<MPPTAGEBranchInfo*>(bp_history);
assert(corrTarget != MaxAddr);
if (squashed) {
if (tage->isSpeculativeUpdateEnabled()) {
// This restores the global history, then update it

View File

@@ -58,8 +58,6 @@ TAGE::update(ThreadID tid, Addr branch_pc, bool taken, void* bp_history,
TageBranchInfo *bi = static_cast<TageBranchInfo*>(bp_history);
TAGEBase::BranchInfo *tage_bi = bi->tageBranchInfo;
assert(corrTarget != MaxAddr);
if (squashed) {
// This restores the global history, then update it
// and recomputes the folded histories.

View File

@@ -419,8 +419,6 @@ TAGE_SC_L::update(ThreadID tid, Addr branch_pc, bool taken, void *bp_history,
TAGE_SC_L_TAGE::BranchInfo* tage_bi =
static_cast<TAGE_SC_L_TAGE::BranchInfo *>(bi->tageBranchInfo);
assert(corrTarget != MaxAddr);
if (squashed) {
if (tage->isSpeculativeUpdateEnabled()) {
// This restores the global history, then update it