From f6b74ce9004690bb61c66cac67053e7518d7dbbd Mon Sep 17 00:00:00 2001 From: Hashim Sharif <hsharif3@tyler.cs.illinois.edu> Date: Sat, 21 Nov 2020 01:00:52 -0600 Subject: [PATCH] Fixing restriction in CUDNN backend - non tensor intrinsics allowed --- llvm/lib/Transforms/DFG2LLVM_CUDNN/DFG2LLVM_CUDNN.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/llvm/lib/Transforms/DFG2LLVM_CUDNN/DFG2LLVM_CUDNN.cpp b/llvm/lib/Transforms/DFG2LLVM_CUDNN/DFG2LLVM_CUDNN.cpp index abc4e9ef89..bc471845ad 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)); -- GitLab