diff --git a/llvm/lib/Transforms/DFG2LLVM_CUDNN/DFG2LLVM_CUDNN.cpp b/llvm/lib/Transforms/DFG2LLVM_CUDNN/DFG2LLVM_CUDNN.cpp
index abc4e9ef895ca853caae92cf517c3b5536d52d5a..bc471845ad153136e13e180dbf410caf09099af7 100644
--- a/llvm/lib/Transforms/DFG2LLVM_CUDNN/DFG2LLVM_CUDNN.cpp
+++ b/llvm/lib/Transforms/DFG2LLVM_CUDNN/DFG2LLVM_CUDNN.cpp
@@ -264,9 +264,13 @@ void CGT_CUDNN::codeGen(DFLeafNode* N) {
 
     if (BuildDFG::isViscIntrinsic(I)) {
       IntrinsicInst* II = dyn_cast<IntrinsicInst>(I);
-      assert((II->getCalledFunction()->getName()).startswith("llvm.visc.tensor")
-        && "Only HPVM tensor intrinsics allowed in ApproxHPVM leaf nodes\n");
+      //assert((II->getCalledFunction()->getName()).startswith("llvm.visc.tensor")
+      //  && "Only HPVM tensor intrinsics allowed in ApproxHPVM leaf nodes\n");
 
+      if (!(II->getCalledFunction()->getName()).startswith("llvm.visc.tensor")){
+	continue; // skip non-tensor ops 
+      }
+      
       /********************* Handle VISC Tensor intrinsics ********************/
       switch (II->getIntrinsicID()) {
 
@@ -427,7 +431,8 @@ void CGT_CUDNN::codeGen(DFLeafNode* N) {
       { /* llvm.visc.tensor.relu */
         DEBUG(errs() << F_cudnn->getName() << "\t: Handling tensor_pool_max\n");
 
-        // Argument list - tensorPooling(input, poolFunction, window_height, window_width, vertical_pad, horizontal_pad,
+        // Argument list - tensorPooling(input, poolFunction, window_height,
+	//                               window_width, vertical_pad, horizontal_pad,
 	//                               vertical_stride, horizontal_stride);
         std::vector<Value*> Args;
         Args.push_back(II->getOperand(0));