diff --git a/llvm/lib/Transforms/DFG2LLVM_NVPTX/DFG2LLVM_NVPTX.cpp b/llvm/lib/Transforms/DFG2LLVM_NVPTX/DFG2LLVM_NVPTX.cpp index de4da74835ad9d110252d1b4c89e6b943d4a4864..0db9f231342fc400795b0ae67e8467e62a8f7812 100644 --- a/llvm/lib/Transforms/DFG2LLVM_NVPTX/DFG2LLVM_NVPTX.cpp +++ b/llvm/lib/Transforms/DFG2LLVM_NVPTX/DFG2LLVM_NVPTX.cpp @@ -347,6 +347,7 @@ void CodeGenTraversal::initRuntimeAPI() { Function* VI = M.getFunction("llvm.visc.init"); assert(VI->getNumUses() == 1 && "__visc__init should only be used once"); + DEBUG(errs() << "Gen Code to initialize NVPTX Timer\n"); InitCall = cast<Instruction>(*VI->use_begin()); initializeTimerSet(InitCall); switchToTimer(visc_TimerID_INIT_CTX, InitCall); @@ -358,6 +359,7 @@ void CodeGenTraversal::initRuntimeAPI() { errs() << *VC << "\n"; assert(VC->getNumUses() == 1 && "__visc__clear should only be used once"); + DEBUG(errs() << "Gen Code to print NVPTX Timer\n"); CleanupCall = cast<Instruction>(*VC->use_begin()); printTimerSet(CleanupCall); diff --git a/llvm/test/VISC/parboil/benchmarks/sgemm/src/visc/main.cc b/llvm/test/VISC/parboil/benchmarks/sgemm/src/visc/main.cc index b70f9e5655a0ba9d6d86959794e7d48f6c47f25a..81d791568b45f1f2befc7c0636ee239a98928621 100644 --- a/llvm/test/VISC/parboil/benchmarks/sgemm/src/visc/main.cc +++ b/llvm/test/VISC/parboil/benchmarks/sgemm/src/visc/main.cc @@ -73,12 +73,11 @@ __attribute__((noinline)) void basicSgemm( char transa, char transb, int m, int unsigned db[2] = {TILE_SZ,TILE_SZ}; unsigned dg[2] = {m/TILE_SZ*db[0],n/TILE_SZ*db[1]}; - void* sgemmDFG = __visc__node((void*) mysgemmNT, 2, 2, db[0], db[1], dg[0]/db[0], dg[1]/db[1], 12, A, bytesA, lda, B, bytesB, ldb, C, bytesC, ldc, k, alpha, beta, 0); + unsigned sgemmDFG = __visc__node(mysgemmNT, 2, 2, db[0], db[1], dg[0]/db[0], dg[1]/db[1], 12, A, bytesA, lda, B, bytesB, ldb, C, bytesC, ldc, k, alpha, beta, 0); __visc__wait(sgemmDFG); } int main (int argc, char *argv[]) { - __visc__init(); struct pb_Parameters *params; struct pb_TimerSet timers; @@ -89,6 +88,7 @@ int main (int argc, char *argv[]) { std::vector<float> matA, matBT; pb_InitializeTimerSet(&timers); + __visc__init(); /* Read command line. Expect 3 inputs: A, B and B^T in column-major layout*/ diff --git a/llvm/test/VISC/parboil/common/include/visc.h b/llvm/test/VISC/parboil/common/include/visc.h index 5daab54d3ae3b3dab3e5141fe13d4de91331e353..e311c73021ea14a5708194ffdab37c7500ea9e6b 100644 --- a/llvm/test/VISC/parboil/common/include/visc.h +++ b/llvm/test/VISC/parboil/common/include/visc.h @@ -9,8 +9,8 @@ #ifdef __cplusplus extern "C" { void __visc__attributes(unsigned, ...); -void __visc__wait(void*); -void* __visc__node(void*, unsigned, unsigned, ...); +void __visc__wait(unsigned); +unsigned __visc__node(...); void __visc__init(); void __visc__cleanup(); #endif diff --git a/llvm/test/VISC/parboil/common/mk/visc.mk b/llvm/test/VISC/parboil/common/mk/visc.mk index bd6846a1b4315417e9d774f3a8e9d4cbedec58c4..58f032a734b4a674af7100a2d077c031c9c36456 100644 --- a/llvm/test/VISC/parboil/common/mk/visc.mk +++ b/llvm/test/VISC/parboil/common/mk/visc.mk @@ -2,7 +2,7 @@ # Default language wide options LANG_CFLAGS=-I$(PARBOIL_ROOT)/common/include -LANG_CXXFLAGS=$(LANG_CFLAGS) +LANG_CXXFLAGS=$(LANG_CFLAGS) -fno-exceptions LANG_LDFLAGS=-lOpenCL -L$(OPENCL_LIB_PATH) -lrt CFLAGS=$(LANG_CFLAGS) $(PLATFORM_CFLAGS) $(APP_CFLAGS)