diff --git a/llvm/projects/visc-rt/visc-rt.cpp b/llvm/projects/visc-rt/visc-rt.cpp
index a7c87a04dd72d0f90b92ad161c909ea4769b46e2..b087ceff6a99d924dee3f7c755b8f9fc1399acba 100644
--- a/llvm/projects/visc-rt/visc-rt.cpp
+++ b/llvm/projects/visc-rt/visc-rt.cpp
@@ -199,7 +199,7 @@ void* llvm_visc_request_mem(void* ptr, size_t size) {
                                       0, NULL, NULL);
   visc_SwitchToTimer(&kernel_timer, visc_TimerID_NONE);
   DEBUG(cout << " done\n");
-  checkErr(errcode, CL_SUCCESS, "Failure to read output");
+  checkErr(errcode, CL_SUCCESS, "[request mem] Failure to read output");
   DEBUG(cout << "Free mem object on device\n");
   clReleaseMemObject((cl_mem) MTE->getAddress());
   DEBUG(cout << "Updated Table\n");
@@ -1307,7 +1307,7 @@ void* llvm_visc_ocl_getOutput(void* graphID, void* h_output, void* d_output, siz
   DFNodeContext_OCL* Context = (DFNodeContext_OCL*) graphID;
   cl_int errcode = clEnqueueReadBuffer(Context->clCommandQue, (cl_mem)d_output, CL_TRUE, 0, size,
                                 h_output, 0, NULL, NULL);
-  checkErr(errcode, CL_SUCCESS, "Failure to read output");
+  checkErr(errcode, CL_SUCCESS, "[getOutput] Failure to read output");
   return h_output;
 }
 
diff --git a/llvm/test/VISC/parboil/benchmarks/sgemm/src/visc_sh/main.cc b/llvm/test/VISC/parboil/benchmarks/sgemm/src/visc_sh/main.cc
index 3ef592e0aac9f035f605a443bc15292653774225..c40ce36c4b128587be061a6262f7986dadd08dbc 100644
--- a/llvm/test/VISC/parboil/benchmarks/sgemm/src/visc_sh/main.cc
+++ b/llvm/test/VISC/parboil/benchmarks/sgemm/src/visc_sh/main.cc
@@ -91,9 +91,11 @@ void packData(RootIn* args,
 // be translated.
 void Allocation(int block_x, int block_y) {
   // Memory shared between threadblocks
-  void* shB = __visc__malloc(block_x*block_y*sizeof(float));
+  int bl_x = TILE_N;
+  int bl_y = TILE_TB_HEIGHT;
+  void* shB = __visc__malloc(bl_x*bl_y*sizeof(float));
   
-  __visc__return(shB, block_x*block_y*sizeof(float)); 
+  __visc__return(shB, bl_x*bl_y*sizeof(float)); 
 }