68a69,71
> void update(ThreadID tid, Addr branch_addr, bool taken, void *bp_history,
> bool squashed, const StaticInstPtr & inst,
> Addr corrTarget) override;
91c94
< LOOP = LAST_TAGE_PROVIDER_TYPE + 1
---
> LOOP = TAGEBase::LAST_TAGE_PROVIDER_TYPE + 1
106,107c109,110
< LTageBranchInfo(int sz)
< : TageBranchInfo(sz),
---
> LTageBranchInfo(TAGEBase &tage)
> : TageBranchInfo(tage),
111a115,117
>
> virtual ~LTageBranchInfo()
> {}
160,170d165
< * Update LTAGE for conditional branches.
< * @param branch_pc The unshifted branch PC.
< * @param taken Actual branch outcome.
< * @param bi Pointer to information on the prediction
< * recorded at prediction time.
< * @nrand Random int number from 0 to 3
< */
< void condBranchUpdate(
< Addr branch_pc, bool taken, TageBranchInfo* bi, int nrand) override;
<
< /**
187,193c182
< * This version of squash() is called once on a branch misprediction.
< * @param tid The Thread ID to select the histories to rollback.
< * @param taken The correct branch outcome.
< * @param bp_history Wrapping pointer to TageBranchInfo (to allow
< * storing derived class prediction information in the
< * base class).
< * @post bp_history points to valid memory.
---
> * @param bi Branch information.
195,196c184
< void squash(
< ThreadID tid, bool taken, void *bp_history) override;
---
> void squashLoop(LTageBranchInfo * bi);
198,205d185
< /**
< * Update the stats
< * @param taken Actual branch outcome
< * @param bi Pointer to information on the prediction
< * recorded at prediction time.
< */
< void updateStats(bool taken, TageBranchInfo* bi) override;
<