60#ifndef __CPU_PRED_TAGE_HH__
61#define __CPU_PRED_TAGE_HH__
69#include "params/TAGE.hh"
109 void * &bp_history)
override;
112 Addr target)
override;
115 bool uncond,
void * &bp_history)
override;
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,...
static RandomPtr genRandom(Random *r=nullptr)
std::shared_ptr< Random > RandomPtr
BPredUnit(const Params &p)
Branch Predictor Unit (BPU) interface functions.
TAGE(const TAGEParams ¶ms)
void updateHistories(ThreadID tid, Addr pc, bool uncond, bool taken, Addr target, const StaticInstPtr &inst, void *&bp_history) override
Ones done with the prediction this function updates the path and global history.
bool lookup(ThreadID tid, Addr pc, void *&bp_history) override
Looks up a given conditional branch PC of in the BP to see if it is taken or not taken.
virtual bool predict(ThreadID tid, Addr branch_pc, bool cond_branch, void *&b)
void squash(ThreadID tid, void *&bp_history) override
void branchPlaceholder(ThreadID tid, Addr pc, bool uncond, void *&bp_history) override
Special function for the decoupled front-end.
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.
const Params & params() const
Copyright (c) 2024 Arm Limited 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.
RefCountingPtr< StaticInst > StaticInstPtr
TageBranchInfo(TAGEBase &tage, Addr pc, bool conditional)
TAGEBase::BranchInfo * tageBranchInfo
virtual ~TageBranchInfo()