79c79
< uint16_t currentIterSpec;
---
> uint16_t currentIterSpec; // only for useSpeculation
83c83
< bool dir;
---
> bool dir; // only for useDirectionBit
102a103
> int loopLowPcBits; // only for useHashing
109c110
< loopPredValid(false), loopIndex(0), loopHit(0)
---
> loopPredValid(false), loopIndex(0), loopLowPcBits(0), loopHit(0)
120a122,131
> * Computes the index used to access the
> * ltable structures.
> * It may take hashing into account
> * @param index Result of lindex function
> * @param lowPcBits PC bits masked with set size
> * @param way Way to be used
> */
> int finallindex(int lindex, int lowPcBits, int way) const;
>
> /**
125a137
> * @param speculative Use speculative number of iterations
127c139
< bool getLoop(Addr pc, LTageBranchInfo* bi) const;
---
> bool getLoop(Addr pc, LTageBranchInfo* bi, bool speculative) const;
140,141c152
< * iteration count.
< * @param pc The unshifted branch PC.
---
> * iteration count (only for useSpeculation).
146c157
< void specLoopUpdate(Addr pc, bool taken, LTageBranchInfo* bi);
---
> void specLoopUpdate(bool taken, LTageBranchInfo* bi);
203a215
> const int loopSetMask;
209a222,225
> const bool useDirectionBit;
> const bool useSpeculation;
> const bool useHashing;
>