diff options
Diffstat (limited to 'cuobjdump_to_ptxplus/cuobjdumpInst.h')
| -rw-r--r-- | cuobjdump_to_ptxplus/cuobjdumpInst.h | 43 |
1 files changed, 41 insertions, 2 deletions
diff --git a/cuobjdump_to_ptxplus/cuobjdumpInst.h b/cuobjdump_to_ptxplus/cuobjdumpInst.h index 20d31be..8cf0ebe 100644 --- a/cuobjdump_to_ptxplus/cuobjdumpInst.h +++ b/cuobjdump_to_ptxplus/cuobjdumpInst.h @@ -1,12 +1,45 @@ -#include "decudaInstList.h" +#ifndef _CUOBJDUMPINST_H_ +#define _CUOBJDUMPINST_H_ -class cuobjdumpInst: public decudaInst +// External includes +#include <string.h> +#include <stdio.h> +#include <stdlib.h> +#include <list> + +// Local includes +//#include "cuobjdumpInstList.h" +#include "stringList.h" + +class cuobjdumpInst { +protected: + //instruction data + const char* m_label; //instruction label + stringList* m_predicate; //instruction predicate + const char* m_base; //instruction mnemonic + stringList* m_baseModifiers; //base modifiers + stringList* m_typeModifiers; //operand types + stringList* m_operands; //operands + stringList* m_predicateModifiers; //predicate modifiers public: //Constructor cuobjdumpInst(); + //accessors + const char* getBase(); + stringList* getTypeModifiers(); + + //Mutators + void setLabel(const char* setLabelValue); + void setPredicate(const char* setPredicateValue); + void addPredicateModifier(const char* addPredicateMod); + void setBase(const char* setBaseValue); + void addBaseModifier(const char* addBaseMod); + void addTypeModifier(const char* addTypeMod); + void addOperand(const char* addOp); + bool checkCubojdumpLabel(std::list<std::string> labelList, std::string label); void printCuobjdumpLabel(std::list<std::string> labelList); @@ -18,5 +51,11 @@ public: void printCuobjdumpOperands(); void printCuobjdumpPtxPlus(std::list<std::string> labelList, std::list<std::string> texList); + + //print representation + bool printHeaderInst(); + void printCuobjdumpInst(); + void printHeaderPtx(); }; +#endif //_CUOBJDUMPINST_H_ |
