Go to the documentation of this file.
29 #ifndef __CPU_PRED_INDIRECT_BASE_HH__
30 #define __CPU_PRED_INDIRECT_BASE_HH__
32 #include "arch/types.hh"
33 #include "config/the_isa.hh"
35 #include "params/IndirectPredictor.hh"
42 typedef IndirectPredictorParams
Params;
54 void * indirect_history) = 0;
62 void * indirect_history,
63 bool actually_taken) = 0;
66 #endif // __CPU_PRED_INDIRECT_BASE_HH__
virtual void updateDirectionInfo(ThreadID tid, bool actually_taken)=0
virtual void genIndirectInfo(ThreadID tid, void *&indirect_history)=0
virtual void recordTarget(InstSeqNum seq_num, void *indirect_history, const TheISA::PCState &target, ThreadID tid)=0
int16_t ThreadID
Thread index/ID type.
virtual void recordIndirect(Addr br_addr, Addr tgt_addr, InstSeqNum seq_num, ThreadID tid)=0
virtual void commit(InstSeqNum seq_num, ThreadID tid, void *indirect_history)=0
virtual void changeDirectionPrediction(ThreadID tid, void *indirect_history, bool actually_taken)=0
virtual bool lookup(Addr br_addr, TheISA::PCState &br_target, ThreadID tid)=0
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
const Params * params() const
virtual void squash(InstSeqNum seq_num, ThreadID tid)=0
IndirectPredictor(const Params *params)
GenericISA::DelaySlotPCState< MachInst > PCState
IndirectPredictorParams Params
virtual void deleteIndirectInfo(ThreadID tid, void *indirect_history)=0
Abstract superclass for simulation objects.
Generated on Wed Sep 30 2020 14:02:09 for gem5 by doxygen 1.8.17