diff options
Diffstat (limited to 'cuobjdump_to_ptxplus/cuobjdumpInstList.h')
| -rw-r--r-- | cuobjdump_to_ptxplus/cuobjdumpInstList.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/cuobjdump_to_ptxplus/cuobjdumpInstList.h b/cuobjdump_to_ptxplus/cuobjdumpInstList.h new file mode 100644 index 0000000..1bc8f10 --- /dev/null +++ b/cuobjdump_to_ptxplus/cuobjdumpInstList.h @@ -0,0 +1,47 @@ +#include "cuobjdumpInst.h" + +// Used for local memory segments +struct localMemory +{ + int value; + int entryIndex; +}; + +class cuobjdumpInstList: public decudaInstList +{ +protected: + std::string parseCuobjdumpPredicate(std::string pred); + int m_kernelCount; + std::map<std::string,int>kernelcmemmap; + std::map<std::string,int>kernellmemmap; + std::list<localMemory> m_localMemoryList; + +public: + //Constructor + cuobjdumpInstList(); + + void setKernelCount(int k); + void readConstMemoryFromElfFile(std::string elf); + + void addCuobjdumpRegister(std::string reg, bool lo=false); //add register + void addCuobjdumpMemoryOperand(std::string mem, int memType); + std::string parseCuobjdumpRegister(std::string reg, bool lo, int vectorFlag); + void addCuobjdumpDoublePredReg(std::string pred, std::string reg, bool lo=false); + + void addCubojdumpLabel(std::string label); + + void addEntryConstMemory(int index, int entryIndex); + void addEntryConstMemory2(char* kernel); + void addConstMemoryPtr(const char* bytes, const char* offset, const char* name); + void setConstMemoryMap(const char* kernelname, int index); + void setLocalMemoryMap(const char* kernelname, int index); + void reverseConstMemory(); + void addEntryLocalMemory(int value, int entryIndex); + void readOtherConstMemoryFromBinFile(std::string binString); // read in constant memory from bin file + + void printCuobjdumpLocalMemory(); + + void printCuobjdumpInstList(); + void printCuobjdumpPtxPlusList(cuobjdumpInstList* headerInfo); +}; + |
