Go to the documentation of this file.
49 #ifndef __CPU_PRED_LTAGE
50 #define __CPU_PRED_LTAGE
58 #include "params/LTAGE.hh"
69 Addr corrTarget)
override;
109 ThreadID tid,
Addr branch_pc,
bool cond_branch,
void* &
b)
override;
112 #endif // __CPU_PRED_LTAGE
virtual void regStats() override
Callback to set stat parameters.
int16_t ThreadID
Thread index/ID type.
@ LAST_LTAGE_PROVIDER_TYPE
@ LAST_TAGE_PROVIDER_TYPE
LTageBranchInfo(TAGEBase &tage, LoopPredictor &lp)
void update(ThreadID tid, Addr branch_addr, bool taken, void *bp_history, bool squashed, const StaticInstPtr &inst, Addr corrTarget) override
Updates the BP with taken/not taken information.
void squash(ThreadID tid, void *bp_history) override
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
const Params * params() const
LoopPredictor * loopPredictor
The loop predictor object.
LTAGE(const LTAGEParams *params)
LoopPredictor::BranchInfo * lpBranchInfo
bool predict(ThreadID tid, Addr branch_pc, bool cond_branch, void *&b) override
Get a branch prediction from LTAGE.
virtual ~LTageBranchInfo()
void init() override
init() is called after all C++ SimObjects have been created and all ports are connected.
Generated on Wed Sep 30 2020 14:02:09 for gem5 by doxygen 1.8.17