HPCToolkit
ISA Class Referenceabstract

#include <ISA.hpp>

Inheritance diagram for ISA:
Collaboration diagram for ISA:

Classes

class  InsnDesc
 

Public Member Functions

 ISA ()
 
virtual ~ISA ()
 
void attach ()
 
void detach ()
 
virtual ushort getInsnSize (MachInsn *mi)=0
 
virtual ushort getInsnNumOps (MachInsn *mi)=0
 
virtual InsnDesc getInsnDesc (MachInsn *mi, ushort opIndex, ushort sz=0)=0
 
virtual VMA getInsnTargetVMA (MachInsn *mi, VMA vma, ushort opIndex, ushort sz=0)=0
 
virtual ushort getInsnNumDelaySlots (MachInsn *mi, ushort opIndex, ushort sz=0)=0
 
virtual bool isParallelWithSuccessor (MachInsn *mi1, ushort opIndex1, ushort sz1, MachInsn *mi2, ushort opIndex2, ushort sz2) const =0
 
virtual void decode (std::ostream &os, MachInsn *mi, VMA vma, ushort opIndex)=0
 
virtual VMA convertVMAToOpVMA (VMA vma, ushort GCC_ATTR_UNUSED opIndex) const
 
virtual VMA convertOpVMAToVMA (VMA opvma, ushort &opIndex) const
 

Protected Member Functions

DecodingCachecacheLookup (MachInsn *cmi)
 
void cacheSet (MachInsn *cmi, ushort size)
 

Private Member Functions

 ISA (const ISA &GCC_ATTR_UNUSED i)
 
ISAoperator= (const ISA &GCC_ATTR_UNUSED i)
 

Private Attributes

DecodingCache_cache
 
unsigned int refcount
 

Detailed Description

Definition at line 106 of file ISA.hpp.

Constructor & Destructor Documentation

◆ ISA() [1/2]

ISA::ISA ( )

Definition at line 85 of file ISA.cpp.

◆ ~ISA()

ISA::~ISA ( )
virtual

Definition at line 92 of file ISA.cpp.

◆ ISA() [2/2]

ISA::ISA ( const ISA &GCC_ATTR_UNUSED  i)
inlineprivate

Definition at line 480 of file ISA.hpp.

Member Function Documentation

◆ attach()

void ISA::attach ( )
inline

Definition at line 384 of file ISA.hpp.

Here is the caller graph for this function:

◆ cacheLookup()

DecodingCache* ISA::cacheLookup ( MachInsn cmi)
inlineprotected

Definition at line 489 of file ISA.hpp.

Here is the caller graph for this function:

◆ cacheSet()

void ISA::cacheSet ( MachInsn cmi,
ushort  size 
)
inlineprotected

Definition at line 501 of file ISA.hpp.

Here is the caller graph for this function:

◆ convertOpVMAToVMA()

virtual VMA ISA::convertOpVMAToVMA ( VMA  opvma,
ushort opIndex 
) const
inlinevirtual

Reimplemented in IA64ISA.

Definition at line 475 of file ISA.hpp.

Here is the caller graph for this function:

◆ convertVMAToOpVMA()

virtual VMA ISA::convertVMAToOpVMA ( VMA  vma,
ushort GCC_ATTR_UNUSED  opIndex 
) const
inlinevirtual

Definition at line 471 of file ISA.hpp.

Here is the caller graph for this function:

◆ decode()

virtual void ISA::decode ( std::ostream &  os,
MachInsn mi,
VMA  vma,
ushort  opIndex 
)
pure virtual

Implemented in IA64ISA, x86ISA, AlphaISA, MipsISA, PowerISA, SparcISA, EmptyISA, and x86ISABinutils.

Here is the caller graph for this function:

◆ detach()

void ISA::detach ( )
inline

Definition at line 388 of file ISA.hpp.

Here is the caller graph for this function:

◆ getInsnDesc()

virtual InsnDesc ISA::getInsnDesc ( MachInsn mi,
ushort  opIndex,
ushort  sz = 0 
)
pure virtual

Implemented in x86ISA, AlphaISA, MipsISA, PowerISA, SparcISA, IA64ISA, x86ISABinutils, x86ISAXed, and EmptyISA.

Here is the caller graph for this function:

◆ getInsnNumDelaySlots()

virtual ushort ISA::getInsnNumDelaySlots ( MachInsn mi,
ushort  opIndex,
ushort  sz = 0 
)
pure virtual

Implemented in MipsISA, PowerISA, SparcISA, and EmptyISA.

Here is the caller graph for this function:

◆ getInsnNumOps()

virtual ushort ISA::getInsnNumOps ( MachInsn mi)
pure virtual

Implemented in IA64ISA.

Here is the caller graph for this function:

◆ getInsnSize()

virtual ushort ISA::getInsnSize ( MachInsn mi)
pure virtual

Implemented in x86ISA, x86ISABinutils, and x86ISAXed.

Here is the caller graph for this function:

◆ getInsnTargetVMA()

virtual VMA ISA::getInsnTargetVMA ( MachInsn mi,
VMA  vma,
ushort  opIndex,
ushort  sz = 0 
)
pure virtual

Implemented in x86ISA, AlphaISA, MipsISA, PowerISA, SparcISA, IA64ISA, x86ISABinutils, x86ISAXed, and EmptyISA.

Here is the caller graph for this function:

◆ isParallelWithSuccessor()

virtual bool ISA::isParallelWithSuccessor ( MachInsn mi1,
ushort  opIndex1,
ushort  sz1,
MachInsn mi2,
ushort  opIndex2,
ushort  sz2 
) const
pure virtual
Here is the caller graph for this function:

◆ operator=()

ISA& ISA::operator= ( const ISA &GCC_ATTR_UNUSED  i)
inlineprivate

Definition at line 484 of file ISA.hpp.

Member Data Documentation

◆ _cache

DecodingCache* ISA::_cache
private

Definition at line 505 of file ISA.hpp.

◆ refcount

unsigned int ISA::refcount
private

Definition at line 506 of file ISA.hpp.


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