mc2lib
Public Member Functions | Protected Attributes | List of all members
mc2lib::codegen::armv7::ReadAddrDp Class Reference

#include <armv7.hpp>

Inheritance diagram for mc2lib::codegen::armv7::ReadAddrDp:
mc2lib::codegen::armv7::Read mc2lib::codegen::MemOp< Backend, EvtState > mc2lib::codegen::Op< Backend, EvtState >

Public Member Functions

 ReadAddrDp (types::Addr addr, Backend::Reg reg, Backend::Reg dp, types::Pid pid=-1)
 
Operation::Ptr Clone () const override
 
void InsertPo (Operation::ThreadConstIt before, EvtStateCats *evts) override
 
std::size_t Emit (types::InstPtr start, Backend *backend, EvtStateCats *evts, void *code, std::size_t len) override
 
- Public Member Functions inherited from mc2lib::codegen::armv7::Read
 Read (types::Addr addr, Backend::Reg out, types::Pid pid=-1)
 
void Reset () override
 
bool EnableEmit (EvtStateCats *evts) override
 
void InsertPo (Operation::ThreadConstIt before, EvtStateCats *evts) override
 
std::size_t Emit (types::InstPtr start, Backend *backend, EvtStateCats *evts, void *code, std::size_t len) override
 
bool UpdateObs (types::InstPtr ip, int part, types::Addr addr, const types::WriteID *from_id, std::size_t size, EvtStateCats *evts) override
 
const mc::EventLastEvent (const mc::Event *next_event, EvtStateCats *evts) const override
 
const mc::EventFirstEvent (const mc::Event *prev_event, EvtStateCats *evts) const override
 
types::Addr addr () const override
 
Backend::Reg out () const
 
- Public Member Functions inherited from mc2lib::codegen::MemOp< Backend, EvtState >
 MemOp (types::Pid pid)
 
- Public Member Functions inherited from mc2lib::codegen::Op< Backend, EvtState >
 Op (types::Pid pid)
 
virtual ~Op ()
 
virtual void AdvanceThread (ThreadItStack *it_stack) const
 
virtual bool EnableEmit (EvtState *evts)=0
 
virtual void InsertPo (ThreadConstIt before, EvtState *evts)=0
 
virtual void RegisterCallback (CallbackStack *callback_stack)
 
virtual std::size_t Emit (types::InstPtr start, Backend *backend, EvtState *evts, void *code, std::size_t len)=0
 
virtual const mc::EventLastEvent (const mc::Event *next_event, EvtState *evts) const=0
 
virtual const mc::EventFirstEvent (const mc::Event *prev_event, EvtState *evts) const=0
 
virtual bool UpdateObs (types::InstPtr ip, int part, types::Addr addr, const types::WriteID *from_id, std::size_t size, EvtState *evts)=0
 
types::Pid pid () const
 
void set_pid (types::Pid pid)
 

Protected Attributes

Backend::Reg dp_
 
- Protected Attributes inherited from mc2lib::codegen::armv7::Read
types::Addr addr_
 
Backend::Reg out_
 
const mc::Eventevent_
 
const mc::Eventfrom_
 
types::InstPtr at_
 

Additional Inherited Members

- Public Types inherited from mc2lib::codegen::Op< Backend, EvtState >
typedef EvtState EvtState
 
typedef std::shared_ptr< OpPtr
 
typedef std::vector< PtrThread
 
typedef Thread::const_iterator ThreadIt
 
typedef std::unordered_map< types::Pid, ThreadThreads
 
typedef std::vector< std::pair< ThreadIt, ThreadIt > > ThreadItStack
 
typedef std::vector< const Op *> ThreadConst
 
typedef ThreadConst::const_iterator ThreadConstIt
 
typedef std::function< std::size_t(Op *, types::InstPtr, Backend *, EvtState *, void *, std::size_t)> Callback
 
typedef std::vector< CallbackCallbackStack
 

Constructor & Destructor Documentation

§ ReadAddrDp()

mc2lib::codegen::armv7::ReadAddrDp::ReadAddrDp ( types::Addr  addr,
Backend::Reg  reg,
Backend::Reg  dp,
types::Pid  pid = -1 
)
inlineexplicit

Member Function Documentation

§ Clone()

Operation::Ptr mc2lib::codegen::armv7::ReadAddrDp::Clone ( ) const
inlineoverridevirtual

Clone the instance.

Reimplemented from mc2lib::codegen::armv7::Read.

§ Emit()

std::size_t mc2lib::codegen::armv7::ReadAddrDp::Emit ( types::InstPtr  start,
Backend backend,
EvtStateCats evts,
void *  code,
std::size_t  len 
)
inlineoverride

§ InsertPo()

void mc2lib::codegen::armv7::ReadAddrDp::InsertPo ( Operation::ThreadConstIt  before,
EvtStateCats evts 
)
inlineoverride

Member Data Documentation

§ dp_

Backend::Reg mc2lib::codegen::armv7::ReadAddrDp::dp_
protected

The documentation for this class was generated from the following file: