Skip to content

Commit

Permalink
Fix in TAGE-SC-L local history recovery (#133)
Browse files Browse the repository at this point in the history
Now saving the branch PC in each checkpoint, and using the correct PC for local
history recovery.
  • Loading branch information
siavashzk authored Mar 2, 2022
1 parent 89d65b3 commit a932053
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion src/bp/template_lib/tagescl.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ struct Tage_SC_L_Prediction_Info {
bool tage_or_loop_prediction;
SC_Prediction_Info sc;
bool final_prediction;
uint64_t br_pc;
};

class Tage_SC_L_Base {
Expand Down Expand Up @@ -215,7 +216,7 @@ void Tage_SC_L<CONFIG>::flush_branch_and_repair_state(int64_t branch_id,
}
if(CONFIG::USE_SC) {
statistical_corrector_.local_recover_speculative_state(
br_pc, prediction_info.sc);
prediction_info.br_pc, prediction_info.sc);
}
}
prediction_info_buffer_.deallocate_after(branch_id);
Expand Down Expand Up @@ -279,4 +280,5 @@ void Tage_SC_L<CONFIG>::update_speculative_state(int64_t branch_id,
statistical_corrector_.update_speculative_state(
br_pc, branch_dir, br_target, br_type, &prediction_info.sc);
}
prediction_info.br_pc = br_pc;
}

0 comments on commit a932053

Please sign in to comment.