diff options
Diffstat (limited to 'src/cpu/pred/2bit_local.cc')
-rw-r--r-- | src/cpu/pred/2bit_local.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/cpu/pred/2bit_local.cc b/src/cpu/pred/2bit_local.cc index 9e1c781c5..6f821e94c 100644 --- a/src/cpu/pred/2bit_local.cc +++ b/src/cpu/pred/2bit_local.cc @@ -123,6 +123,12 @@ LocalBP::update(ThreadID tid, Addr branch_addr, bool taken, void *bp_history, assert(bp_history == NULL); unsigned local_predictor_idx; + // No state to restore, and we do not update on the wrong + // path. + if (squashed) { + return; + } + // Update the local predictor. local_predictor_idx = getLocalIndex(branch_addr); |