gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
BrigObject Class Referencefinal

#include <brig_object.hh>

Inheritance diagram for BrigObject:
HsaObject

Classes

struct  SectionInfo
 

Public Types

enum  SectionIndex { DataSectionIndex, CodeSectionIndex, OperandsSectionIndex, NumSectionIndices }
 

Public Member Functions

const uint8_t * getSectionOffset (enum SectionIndex sec, int offs) const
 
void processDirectives (const Brig::BrigBase *dirPtr, const Brig::BrigBase *endPtr, StorageMap *storageMap)
 
 BrigObject (const std::string &fname, int len, uint8_t *fileData)
 
 ~BrigObject ()
 
const char * getString (int offs) const
 
const Brig::BrigDatagetBrigBaseData (int offs) const
 
const uint8_t * getData (int offs) const
 
const Brig::BrigBasegetCodeSectionEntry (int offs) const
 
const Brig::BrigOperandgetOperand (int offs) const
 
unsigned getOperandPtr (int offs, int index) const
 
const Brig::BrigInstBasegetInst (int offs) const
 
HsaCodegetKernel (const std::string &name) const override
 
HsaCodegetFunction (const std::string &name) const override
 
int numKernels () const override
 
HsaCodegetKernel (int i) const override
 
- Public Member Functions inherited from HsaObject
 HsaObject (const std::string &fileName)
 
const std::string & name () const
 

Static Public Member Functions

static HsaObjecttryFile (const std::string &fname, int len, uint8_t *fileData)
 
- Static Public Member Functions inherited from HsaObject
static HsaObjectcreateHsaObject (const std::string &fname)
 

Public Attributes

SectionInfo sectionInfo [NumSectionIndices]
 
std::vector< HsailCode * > kernels
 
std::vector< HsailCode * > functions
 
std::string kern_block_name
 
StorageMapstorageMap
 
LabelMaplabelMap
 
HsailCodecurrentCode
 
- Public Attributes inherited from HsaObject
uint8_t * readonlyData
 

Static Public Attributes

static const char * sectionNames []
 
- Static Public Attributes inherited from HsaObject
static std::vector
< std::function< HsaObject
*(const std::string &, int,
uint8_t *)> > 
tryFileFuncs = { BrigObject::tryFile }
 

Additional Inherited Members

- Protected Attributes inherited from HsaObject
const std::string filename
 

Detailed Description

Definition at line 60 of file brig_object.hh.

Member Enumeration Documentation

Enumerator
DataSectionIndex 
CodeSectionIndex 
OperandsSectionIndex 
NumSectionIndices 

Definition at line 63 of file brig_object.hh.

Constructor & Destructor Documentation

BrigObject::BrigObject ( const std::string &  fname,
int  len,
uint8_t *  fileData 
)
BrigObject::~BrigObject ( )

Member Function Documentation

const BrigData * BrigObject::getBrigBaseData ( int  offs) const

Definition at line 104 of file brig_object.cc.

Referenced by ListOperand::init().

const BrigBase * BrigObject::getCodeSectionEntry ( int  offs) const
const uint8_t * BrigObject::getData ( int  offs) const
HsaCode * BrigObject::getFunction ( const std::string &  name) const
overridevirtual

Implements HsaObject.

Definition at line 142 of file brig_object.cc.

References ArmISA::i, and name().

const BrigInstBase * BrigObject::getInst ( int  offs) const

Definition at line 130 of file brig_object.cc.

HsaCode * BrigObject::getKernel ( const std::string &  name) const
overridevirtual

Implements HsaObject.

Definition at line 136 of file brig_object.cc.

HsaCode* BrigObject::getKernel ( int  i) const
inlineoverridevirtual

Implements HsaObject.

Definition at line 113 of file brig_object.hh.

References ArmISA::i, and kernels.

const BrigOperand * BrigObject::getOperand ( int  offs) const
unsigned BrigObject::getOperandPtr ( int  offs,
int  index 
) const

Definition at line 122 of file brig_object.cc.

Referenced by HsailISA::AtomicInstBase< MemDataType::OperandType, AddrOperandType, NumSrcOperands, HasDst >::AtomicInstBase(), HsailISA::BrInstBase< SRegOperand >::BrInstBase(), HsailISA::BrnInstBase< SRegOperand >::BrnInstBase(), HsailISA::Call::Call(), HsailISA::CbrInstBase< SRegOperand >::CbrInstBase(), HsailISA::CommonInstBase< DestDataType::OperandType, SrcDataType::OperandType, 1 >::CommonInstBase(), HsailISA::decodeAtomicHelper(), HsailISA::decodeBr(), HsailISA::decodeBrn(), HsailISA::decodeCbr(), HsailISA::decodeLd(), HsailISA::decodeLd2(), HsailISA::decodeLda(), HsailISA::decodeSt(), HsailISA::LdaInstBase< DestDataType::OperandType, AddrOperandType >::LdaInstBase(), HsailISA::LdInst< MemDataType, DestDataType, AddrOperandType >::LdInst(), HsailISA::LdInstBase< MemDataType::CType, DestDataType::OperandType, AddrOperandType >::LdInstBase(), HsailISA::SpecialInst1SrcBase< DestDataType::OperandType >::SpecialInst1SrcBase(), HsailISA::SpecialInstNoSrcBase< DestDataType::OperandType >::SpecialInstNoSrcBase(), HsailISA::StInst< MemDataType, SrcDataType, AddrOperandType >::StInst(), HsailISA::StInstBase< MemDataType, SrcDataType::OperandType, AddrOperandType >::StInstBase(), HsailISA::ThreeNonUniformSourceInstBase< DataType::OperandType, B1::OperandType, DataType::OperandType, DataType::OperandType >::ThreeNonUniformSourceInstBase(), and HsailISA::TwoNonUniformSourceInstBase< DestDataType::OperandType, Src0DataType::OperandType, Src1DataType::OperandType >::TwoNonUniformSourceInstBase().

const uint8_t * BrigObject::getSectionOffset ( enum SectionIndex  sec,
int  offs 
) const

Definition at line 83 of file brig_object.cc.

References X86ISA::size().

const char * BrigObject::getString ( int  offs) const
int BrigObject::numKernels ( ) const
inlineoverridevirtual

Implements HsaObject.

Definition at line 111 of file brig_object.hh.

References kernels.

void BrigObject::processDirectives ( const Brig::BrigBase dirPtr,
const Brig::BrigBase endPtr,
StorageMap storageMap 
)
HsaObject * BrigObject::tryFile ( const std::string &  fname,
int  len,
uint8_t *  fileData 
)
static

Definition at line 405 of file brig_object.cc.

References MODULE_IDENTIFICATION_LENGTH.

Member Data Documentation

HsailCode* BrigObject::currentCode
mutable
std::vector<HsailCode*> BrigObject::functions

Definition at line 86 of file brig_object.hh.

std::string BrigObject::kern_block_name

Definition at line 87 of file brig_object.hh.

std::vector<HsailCode*> BrigObject::kernels

Definition at line 85 of file brig_object.hh.

Referenced by getKernel(), and numKernels().

LabelMap* BrigObject::labelMap

Definition at line 98 of file brig_object.hh.

SectionInfo BrigObject::sectionInfo[NumSectionIndices]

Definition at line 82 of file brig_object.hh.

Referenced by BrigObject(), and ~BrigObject().

const char * BrigObject::sectionNames
static
Initial value:
=
{
"hsa_data",
"hsa_code",
"hsa_operand",
".shstrtab"
}

Definition at line 71 of file brig_object.hh.

StorageMap* BrigObject::storageMap

Definition at line 97 of file brig_object.hh.

Referenced by BrigObject().


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

Generated on Fri Jun 9 2017 13:04:04 for gem5 by doxygen 1.8.6