|
gem5
v22.1.0.0
|
Public Member Functions | |
| PredictorHistory (const InstSeqNum &seq_num, Addr instPC, bool pred_taken, void *bp_history, void *indirect_history, ThreadID _tid, const StaticInstPtr &inst) | |
| Makes a predictor history struct that contains any information needed to update the predictor, BTB, and RAS. More... | |
| PredictorHistory (const PredictorHistory &other) | |
| bool | operator== (const PredictorHistory &entry) const |
Public Attributes | |
| InstSeqNum | seqNum |
| The sequence number for the predictor history entry. More... | |
| Addr | pc |
| The PC associated with the sequence number. More... | |
| void * | bpHistory = nullptr |
| Pointer to the history object passed back from the branch predictor. More... | |
| void * | indirectHistory = nullptr |
| std::unique_ptr< PCStateBase > | RASTarget |
| The RAS target (only valid if a return). More... | |
| unsigned | RASIndex = 0 |
| The RAS index of the instruction (only valid if a call). More... | |
| ThreadID | tid |
| The thread id. More... | |
| bool | predTaken |
| Whether or not it was predicted taken. More... | |
| bool | usedRAS = false |
| Whether or not the RAS was used. More... | |
| bool | pushedRAS = false |
| bool | wasCall = false |
| Whether or not the instruction was a call. More... | |
| bool | wasReturn = false |
| Whether or not the instruction was a return. More... | |
| bool | wasIndirect = false |
| Wether this instruction was an indirect branch. More... | |
| Addr | target = MaxAddr |
| Target of the branch. More... | |
| const StaticInstPtr | inst |
| The branch instrction. More... | |
Definition at line 202 of file bpred_unit.hh.
|
inline |
Makes a predictor history struct that contains any information needed to update the predictor, BTB, and RAS.
Definition at line 208 of file bpred_unit.hh.
|
inline |
Definition at line 217 of file bpred_unit.hh.
References RASTarget, and gem5::ArmISA::set.
|
inline |
Definition at line 229 of file bpred_unit.hh.
References seqNum.
| void* gem5::branch_prediction::BPredUnit::PredictorHistory::bpHistory = nullptr |
Pointer to the history object passed back from the branch predictor.
It is used to update or restore state of the branch predictor.
Definition at line 244 of file bpred_unit.hh.
| void* gem5::branch_prediction::BPredUnit::PredictorHistory::indirectHistory = nullptr |
Definition at line 246 of file bpred_unit.hh.
| const StaticInstPtr gem5::branch_prediction::BPredUnit::PredictorHistory::inst |
The branch instrction.
Definition at line 281 of file bpred_unit.hh.
| Addr gem5::branch_prediction::BPredUnit::PredictorHistory::pc |
The PC associated with the sequence number.
Definition at line 238 of file bpred_unit.hh.
| bool gem5::branch_prediction::BPredUnit::PredictorHistory::predTaken |
Whether or not it was predicted taken.
Definition at line 258 of file bpred_unit.hh.
Referenced by gem5::branch_prediction::BPredUnit::predict().
| bool gem5::branch_prediction::BPredUnit::PredictorHistory::pushedRAS = false |
Definition at line 264 of file bpred_unit.hh.
Referenced by gem5::branch_prediction::BPredUnit::predict().
| unsigned gem5::branch_prediction::BPredUnit::PredictorHistory::RASIndex = 0 |
The RAS index of the instruction (only valid if a call).
Definition at line 252 of file bpred_unit.hh.
Referenced by gem5::branch_prediction::BPredUnit::predict().
| std::unique_ptr<PCStateBase> gem5::branch_prediction::BPredUnit::PredictorHistory::RASTarget |
The RAS target (only valid if a return).
Definition at line 249 of file bpred_unit.hh.
Referenced by gem5::branch_prediction::BPredUnit::predict(), and PredictorHistory().
| InstSeqNum gem5::branch_prediction::BPredUnit::PredictorHistory::seqNum |
The sequence number for the predictor history entry.
Definition at line 235 of file bpred_unit.hh.
Referenced by operator==().
Target of the branch.
First it is predicted, and fixed later if necessary
Definition at line 278 of file bpred_unit.hh.
Referenced by gem5::branch_prediction::BPredUnit::predict().
| ThreadID gem5::branch_prediction::BPredUnit::PredictorHistory::tid |
The thread id.
Definition at line 255 of file bpred_unit.hh.
| bool gem5::branch_prediction::BPredUnit::PredictorHistory::usedRAS = false |
Whether or not the RAS was used.
Definition at line 261 of file bpred_unit.hh.
Referenced by gem5::branch_prediction::BPredUnit::predict().
| bool gem5::branch_prediction::BPredUnit::PredictorHistory::wasCall = false |
Whether or not the instruction was a call.
Definition at line 267 of file bpred_unit.hh.
Referenced by gem5::branch_prediction::BPredUnit::predict().
| bool gem5::branch_prediction::BPredUnit::PredictorHistory::wasIndirect = false |
Wether this instruction was an indirect branch.
Definition at line 273 of file bpred_unit.hh.
Referenced by gem5::branch_prediction::BPredUnit::predict().
| bool gem5::branch_prediction::BPredUnit::PredictorHistory::wasReturn = false |
Whether or not the instruction was a return.
Definition at line 270 of file bpred_unit.hh.
Referenced by gem5::branch_prediction::BPredUnit::predict().