From 999ce28bab99ac738e8ef35ab51138134d6c9d54 Mon Sep 17 00:00:00 2001 From: Prakalp Srivastava <psrivas2@illinois.edu> Date: Wed, 16 Mar 2016 19:52:34 -0500 Subject: [PATCH] Implemented translation of floor intrinsic in PTX backend --- llvm/lib/Transforms/DFG2LLVM_NVPTX/DFG2LLVM_NVPTX.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/llvm/lib/Transforms/DFG2LLVM_NVPTX/DFG2LLVM_NVPTX.cpp b/llvm/lib/Transforms/DFG2LLVM_NVPTX/DFG2LLVM_NVPTX.cpp index 53850c98c2..9c0476ff52 100644 --- a/llvm/lib/Transforms/DFG2LLVM_NVPTX/DFG2LLVM_NVPTX.cpp +++ b/llvm/lib/Transforms/DFG2LLVM_NVPTX/DFG2LLVM_NVPTX.cpp @@ -1379,6 +1379,7 @@ void CGT_NVPTX::codeGen(DFLeafNode* N) { } case Intrinsic::floor: { + errs() << "Found floor intrinsic\n"; F = Intrinsic::getDeclaration(&KernelM, Intrinsic::nvvm_floor_f); FunctionType* FTy = F->getFunctionType(); DEBUG(errs() << *F << "\n"); @@ -1400,6 +1401,12 @@ void CGT_NVPTX::codeGen(DFLeafNode* N) { } args.push_back(V); } + // Insert call instruction + CallInst* Inst = CallInst::Create(F, args, + F->getReturnType()->isVoidTy()? "" : CI->getName(), CI); + DEBUG(errs() << "\tSubstitute with: " << *Inst << "\n"); + CI->replaceAllUsesWith(Inst); + IItoRemove.push_back(II); break; } default: -- GitLab