diff options
Diffstat (limited to 'llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp')
| -rw-r--r-- | llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp b/llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp index 1872b238d107..ecf9b6ddae1f 100644 --- a/llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp +++ b/llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp @@ -353,11 +353,11 @@ static void lowerExpectAssume(IntrinsicInst *II) { // We need to lower this into a builtin and then the builtin into a SPIR-V // instruction. if (II->getIntrinsicID() == Intrinsic::assume) { - Function *F = Intrinsic::getDeclaration( + Function *F = Intrinsic::getOrInsertDeclaration( II->getModule(), Intrinsic::SPVIntrinsics::spv_assume); II->setCalledFunction(F); } else if (II->getIntrinsicID() == Intrinsic::expect) { - Function *F = Intrinsic::getDeclaration( + Function *F = Intrinsic::getOrInsertDeclaration( II->getModule(), Intrinsic::SPVIntrinsics::spv_expect, {II->getOperand(0)->getType()}); II->setCalledFunction(F); @@ -372,12 +372,12 @@ static bool toSpvOverloadedIntrinsic(IntrinsicInst *II, Intrinsic::ID NewID, ArrayRef<unsigned> OpNos) { Function *F = nullptr; if (OpNos.empty()) { - F = Intrinsic::getDeclaration(II->getModule(), NewID); + F = Intrinsic::getOrInsertDeclaration(II->getModule(), NewID); } else { SmallVector<Type *, 4> Tys; for (unsigned OpNo : OpNos) Tys.push_back(II->getOperand(OpNo)->getType()); - F = Intrinsic::getDeclaration(II->getModule(), NewID, Tys); + F = Intrinsic::getOrInsertDeclaration(II->getModule(), NewID, Tys); } II->setCalledFunction(F); return true; |
