gem5  v21.1.0.2
Public Member Functions | Public Attributes | List of all members
gem5::branch_prediction::BPredUnit::PredictorHistory Struct Reference

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...
 

Detailed Description

Definition at line 194 of file bpred_unit.hh.

Constructor & Destructor Documentation

◆ PredictorHistory()

gem5::branch_prediction::BPredUnit::PredictorHistory::PredictorHistory ( const InstSeqNum seq_num,
Addr  instPC,
bool  pred_taken,
void *  bp_history,
void *  indirect_history,
ThreadID  _tid,
const StaticInstPtr inst 
)
inline

Makes a predictor history struct that contains any information needed to update the predictor, BTB, and RAS.

Definition at line 200 of file bpred_unit.hh.

Member Function Documentation

◆ operator==()

bool gem5::branch_prediction::BPredUnit::PredictorHistory::operator== ( const PredictorHistory entry) const
inline

Definition at line 211 of file bpred_unit.hh.

References seqNum.

Member Data Documentation

◆ bpHistory

void* gem5::branch_prediction::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 225 of file bpred_unit.hh.

◆ indirectHistory

void* gem5::branch_prediction::BPredUnit::PredictorHistory::indirectHistory

Definition at line 227 of file bpred_unit.hh.

◆ inst

const StaticInstPtr gem5::branch_prediction::BPredUnit::PredictorHistory::inst

The branch instrction.

Definition at line 262 of file bpred_unit.hh.

◆ pc

Addr gem5::branch_prediction::BPredUnit::PredictorHistory::pc

The PC associated with the sequence number.

Definition at line 219 of file bpred_unit.hh.

◆ predTaken

bool gem5::branch_prediction::BPredUnit::PredictorHistory::predTaken

Whether or not it was predicted taken.

Definition at line 239 of file bpred_unit.hh.

Referenced by gem5::branch_prediction::BPredUnit::predict().

◆ pushedRAS

bool gem5::branch_prediction::BPredUnit::PredictorHistory::pushedRAS

Definition at line 245 of file bpred_unit.hh.

Referenced by gem5::branch_prediction::BPredUnit::predict().

◆ RASIndex

unsigned gem5::branch_prediction::BPredUnit::PredictorHistory::RASIndex

The RAS index of the instruction (only valid if a call).

Definition at line 233 of file bpred_unit.hh.

Referenced by gem5::branch_prediction::BPredUnit::predict().

◆ RASTarget

TheISA::PCState gem5::branch_prediction::BPredUnit::PredictorHistory::RASTarget

The RAS target (only valid if a return).

Definition at line 230 of file bpred_unit.hh.

Referenced by gem5::branch_prediction::BPredUnit::predict().

◆ seqNum

InstSeqNum gem5::branch_prediction::BPredUnit::PredictorHistory::seqNum

The sequence number for the predictor history entry.

Definition at line 216 of file bpred_unit.hh.

Referenced by operator==().

◆ target

Addr gem5::branch_prediction::BPredUnit::PredictorHistory::target

Target of the branch.

First it is predicted, and fixed later if necessary

Definition at line 259 of file bpred_unit.hh.

Referenced by gem5::branch_prediction::BPredUnit::predict().

◆ tid

ThreadID gem5::branch_prediction::BPredUnit::PredictorHistory::tid

The thread id.

Definition at line 236 of file bpred_unit.hh.

◆ usedRAS

bool gem5::branch_prediction::BPredUnit::PredictorHistory::usedRAS

Whether or not the RAS was used.

Definition at line 242 of file bpred_unit.hh.

Referenced by gem5::branch_prediction::BPredUnit::predict().

◆ wasCall

bool gem5::branch_prediction::BPredUnit::PredictorHistory::wasCall

Whether or not the instruction was a call.

Definition at line 248 of file bpred_unit.hh.

Referenced by gem5::branch_prediction::BPredUnit::predict().

◆ wasIndirect

bool gem5::branch_prediction::BPredUnit::PredictorHistory::wasIndirect

Wether this instruction was an indirect branch.

Definition at line 254 of file bpred_unit.hh.

Referenced by gem5::branch_prediction::BPredUnit::predict().

◆ wasReturn

bool gem5::branch_prediction::BPredUnit::PredictorHistory::wasReturn

Whether or not the instruction was a return.

Definition at line 251 of file bpred_unit.hh.

Referenced by gem5::branch_prediction::BPredUnit::predict().


The documentation for this struct was generated from the following file:

Generated on Tue Sep 21 2021 12:28:46 for gem5 by doxygen 1.8.17