61#ifndef __CPU_PRED_LTAGE_HH__
62#define __CPU_PRED_LTAGE_HH__
70#include "params/LTAGE.hh"
75namespace branch_prediction
86 void * &bp_history,
bool squashed,
128 ThreadID tid,
Addr branch_pc,
bool cond_branch,
void* &
b)
override;
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,...
void update(ThreadID tid, Addr pc, bool taken, void *&bp_history, bool squashed, const StaticInstPtr &inst, Addr target) override
Updates the BP with taken/not taken information.
@ LAST_LTAGE_PROVIDER_TYPE
LTAGE(const LTAGEParams ¶ms)
void init() override
init() is called after all C++ SimObjects have been created and all ports are connected.
bool predict(ThreadID tid, Addr branch_pc, bool cond_branch, void *&b) override
Get a branch prediction from LTAGE.
LoopPredictor * loopPredictor
The loop predictor object.
void squash(ThreadID tid, void *&bp_history) override
@ LAST_TAGE_PROVIDER_TYPE
const Params & params() const
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
int16_t ThreadID
Thread index/ID type.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
LoopPredictor::BranchInfo * lpBranchInfo
virtual ~LTageBranchInfo()
LTageBranchInfo(TAGEBase &tage, LoopPredictor &lp)