summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cuobjdump_to_ptxplus/cuobjdumpInst.cc19
-rw-r--r--cuobjdump_to_ptxplus/cuobjdumpInstList.cc5
-rw-r--r--cuobjdump_to_ptxplus/cuobjdump_to_ptxplus.cc2
-rw-r--r--cuobjdump_to_ptxplus/elf.y9
-rw-r--r--cuobjdump_to_ptxplus/ptx_parser.h6
5 files changed, 24 insertions, 17 deletions
diff --git a/cuobjdump_to_ptxplus/cuobjdumpInst.cc b/cuobjdump_to_ptxplus/cuobjdumpInst.cc
index 6ad3e0c..256c6c8 100644
--- a/cuobjdump_to_ptxplus/cuobjdumpInst.cc
+++ b/cuobjdump_to_ptxplus/cuobjdumpInst.cc
@@ -1510,7 +1510,24 @@ void cuobjdumpInst::printCuobjdumpPtxPlus(std::list<std::string> labelList, std:
printCuobjdumpOperands();
output(";");
}
- else if(strcmp(m_base, "MOV")==0 || strcmp(m_base, "MVI")==0 || strcmp(m_base, "MVC")==0)
+ else if(strcmp(m_base, "MVC")==0){
+ printCuobjdumpPredicate();
+ //Use cvt if there is conversion involved (2 modifiers) otherwise mov
+ if(m_typeModifiers->getSize() < 2)
+ output("mov");
+ else
+ output("cvt");
+
+ printCuobjdumpBaseModifiers();
+
+ if(m_typeModifiers->getSize() == 0)
+ output(int_default_mod()); //TODO: setting default type modifier but I'm not sure if this is right.
+ else
+ printCuobjdumpTypeModifiers();
+ printCuobjdumpOperands();
+ output(";");
+ }
+ else if(strcmp(m_base, "MOV")==0 || strcmp(m_base, "MVI")==0)
{
printCuobjdumpPredicate();
output("mov");
diff --git a/cuobjdump_to_ptxplus/cuobjdumpInstList.cc b/cuobjdump_to_ptxplus/cuobjdumpInstList.cc
index ea5df82..ecab488 100644
--- a/cuobjdump_to_ptxplus/cuobjdumpInstList.cc
+++ b/cuobjdump_to_ptxplus/cuobjdumpInstList.cc
@@ -30,7 +30,7 @@
#include <cassert>
#include "cuobjdumpInstList.h"
-#define P_DEBUG 1
+#define P_DEBUG 0
#define DPRINTF(...) \
if(P_DEBUG) { \
printf("(%s:%u) ", __FILE__, __LINE__); \
@@ -571,7 +571,6 @@ void cuobjdumpInstList::setConstMemoryMap(const char* kernelname, int index){
std::string kernel = kernelname;
kernel = kernel.substr(14, kernel.length()-1);
kernel = kernel.substr(0, kernel.find("\t"));
- printf("Setting kernelcmemmap[%s]=%d\n", kernel.c_str(), index);
kernelcmemmap[kernel] = index;
}
@@ -579,7 +578,6 @@ void cuobjdumpInstList::setLocalMemoryMap(const char* kernelname, int index){
std::string kernel = kernelname;
kernel = kernel.substr(10, kernel.length()-1);
kernel = kernel.substr(0, kernel.find("\t"));
- printf("Setting kernellmemmap[%s]=%d\n", kernel.c_str(), index);
kernellmemmap[kernel] = index;
}
@@ -727,6 +725,5 @@ void cuobjdumpInstList::addConstMemoryPtr(const char* offset, const char* size,
ptr.name = name;
ptr.destination = "constant0";
m_constMemoryPtrList.push_back(ptr);
- printf("\naddConstMemoryPtr: %s, size: %d, offset: %d\n", ptr.name.c_str(), ptr.bytes, ptr.offset);
}
diff --git a/cuobjdump_to_ptxplus/cuobjdump_to_ptxplus.cc b/cuobjdump_to_ptxplus/cuobjdump_to_ptxplus.cc
index d7436e4..af8babe 100644
--- a/cuobjdump_to_ptxplus/cuobjdump_to_ptxplus.cc
+++ b/cuobjdump_to_ptxplus/cuobjdump_to_ptxplus.cc
@@ -53,7 +53,7 @@ FILE *ptxplus_out;
void output(const char * text)
{
- printf(text);
+ //printf(text);
fprintf(ptxplus_out, text);
}
diff --git a/cuobjdump_to_ptxplus/elf.y b/cuobjdump_to_ptxplus/elf.y
index 710ecfd..f521518 100644
--- a/cuobjdump_to_ptxplus/elf.y
+++ b/cuobjdump_to_ptxplus/elf.y
@@ -69,36 +69,27 @@ program : program cmemsection
| program localmemsection
| {
g_instList->setKernelCount(cmemcount-1);
- //g_instList->reverseConstMemory();
};
localmemsection : LOCALMEM {
- printf("Found LocalMem section number %d\n", lmemcount);
g_instList->addEntryLocalMemory(0, lmemcount);
g_instList->setLocalMemoryMap($1, lmemcount);
lmemcount++;
};
cmemsection : C1BEGIN {
- printf("Found ConstMem section number %d\n", cmemcount);
- //g_instList->addEntryConstMemory(1, cmemcount);
g_instList->addEntryConstMemory2($1);
g_instList->setConstMemoryType2(".u32");
- //g_instList->setConstMemoryType(".u32");
- //g_instList->setConstMemoryMap($1,cmemcount);
cmemcount++;
lastcmem = true;
} cmemvals
| C0BEGIN {
- printf("Found ConstMem c0 section\n");
g_instList->addConstMemory(0);
g_instList->setConstMemoryType(".u32");
lastcmem = false;
} cmemvals;
cmemvals : cmemvals CMEMVAL SPACE2 {
- //printf("Found ConstMem value\n");
- printf("addConstMemoryValue %s\n", $3);
if (lastcmem)
g_instList->addConstMemoryValue2($3);
else
diff --git a/cuobjdump_to_ptxplus/ptx_parser.h b/cuobjdump_to_ptxplus/ptx_parser.h
index 6d855f6..da22f30 100644
--- a/cuobjdump_to_ptxplus/ptx_parser.h
+++ b/cuobjdump_to_ptxplus/ptx_parser.h
@@ -44,7 +44,7 @@
#define NON_ARRAY_IDENTIFIER 1
#define ARRAY_IDENTIFIER_NO_DIM 2
#define ARRAY_IDENTIFIER 3
-#define P_DEBUG 1
+#define P_DEBUG 0
#define DPRINTF(...) \
if(P_DEBUG) { \
printf("(%s:%s:%u) ", __FILE__, __FUNCTION__, __LINE__); \
@@ -348,7 +348,9 @@ void func_header_info(const char* headerInfo)
} else if(inConstDirective){
} else {
- printf("Unkown header info: #%s#\n", headerInfo);
+ // This information is supposed to be not needed.
+ // Suppressing printing it
+ // printf("Unkown header info: #%s#\n", headerInfo);
}
}