gem5
v20.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... | |
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 |
Pointer to the history object passed back from the branch predictor. More... | |
void * | indirectHistory |
TheISA::PCState | RASTarget |
The RAS target (only valid if a return). More... | |
unsigned | RASIndex |
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 |
Whether or not the RAS was used. More... | |
bool | pushedRAS |
bool | wasCall |
Whether or not the instruction was a call. More... | |
bool | wasReturn |
Whether or not the instruction was a return. More... | |
bool | wasIndirect |
Wether this instruction was an indirect branch. More... | |
Addr | target |
Target of the branch. More... | |
const StaticInstPtr | inst |
The branch instrction. More... | |
Definition at line 188 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 193 of file bpred_unit.hh.
|
inline |
Definition at line 204 of file bpred_unit.hh.
References seqNum.
void* BPredUnit::PredictorHistory::bpHistory |
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 218 of file bpred_unit.hh.
void* BPredUnit::PredictorHistory::indirectHistory |
Definition at line 220 of file bpred_unit.hh.
const StaticInstPtr BPredUnit::PredictorHistory::inst |
The branch instrction.
Definition at line 255 of file bpred_unit.hh.
Addr BPredUnit::PredictorHistory::pc |
The PC associated with the sequence number.
Definition at line 212 of file bpred_unit.hh.
bool BPredUnit::PredictorHistory::predTaken |
Whether or not it was predicted taken.
Definition at line 232 of file bpred_unit.hh.
Referenced by BPredUnit::predict().
bool BPredUnit::PredictorHistory::pushedRAS |
Definition at line 238 of file bpred_unit.hh.
Referenced by BPredUnit::predict().
unsigned BPredUnit::PredictorHistory::RASIndex |
The RAS index of the instruction (only valid if a call).
Definition at line 226 of file bpred_unit.hh.
Referenced by BPredUnit::predict().
TheISA::PCState BPredUnit::PredictorHistory::RASTarget |
The RAS target (only valid if a return).
Definition at line 223 of file bpred_unit.hh.
Referenced by BPredUnit::predict().
InstSeqNum BPredUnit::PredictorHistory::seqNum |
The sequence number for the predictor history entry.
Definition at line 209 of file bpred_unit.hh.
Referenced by operator==().
Addr BPredUnit::PredictorHistory::target |
Target of the branch.
First it is predicted, and fixed later if necessary
Definition at line 252 of file bpred_unit.hh.
Referenced by BPredUnit::predict().
ThreadID BPredUnit::PredictorHistory::tid |
The thread id.
Definition at line 229 of file bpred_unit.hh.
bool BPredUnit::PredictorHistory::usedRAS |
Whether or not the RAS was used.
Definition at line 235 of file bpred_unit.hh.
Referenced by BPredUnit::predict().
bool BPredUnit::PredictorHistory::wasCall |
Whether or not the instruction was a call.
Definition at line 241 of file bpred_unit.hh.
Referenced by BPredUnit::predict().
bool BPredUnit::PredictorHistory::wasIndirect |
Wether this instruction was an indirect branch.
Definition at line 247 of file bpred_unit.hh.
Referenced by BPredUnit::predict().
bool BPredUnit::PredictorHistory::wasReturn |
Whether or not the instruction was a return.
Definition at line 244 of file bpred_unit.hh.
Referenced by BPredUnit::predict().