Skip to content

Commit db58043

Browse files
committed
IRGen: Address llvm::Intrinsic::getDeclaration deprecation
See llvm/llvm-project#112242.
1 parent 3ba8ab4 commit db58043

File tree

3 files changed

+11
-11
lines changed

3 files changed

+11
-11
lines changed

lib/IRGen/GenBuiltin.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -444,9 +444,9 @@ void irgen::emitBuiltinCall(IRGenFunction &IGF, const BuiltinInfo &Builtin,
444444
SmallVector<llvm::Type*, 4> ArgTys;
445445
for (auto T : IInfo.Types)
446446
ArgTys.push_back(IGF.IGM.getStorageTypeForLowered(T->getCanonicalType()));
447-
448-
auto F = llvm::Intrinsic::getDeclaration(&IGF.IGM.Module,
449-
(llvm::Intrinsic::ID)IID, ArgTys);
447+
448+
auto F = llvm::Intrinsic::getOrInsertDeclaration(
449+
&IGF.IGM.Module, (llvm::Intrinsic::ID)IID, ArgTys);
450450
llvm::FunctionType *FT = F->getFunctionType();
451451
SmallVector<llvm::Value*, 8> IRArgs;
452452
for (unsigned i = 0, e = FT->getNumParams(); i != e; ++i)
@@ -512,7 +512,7 @@ void irgen::emitBuiltinCall(IRGenFunction &IGF, const BuiltinInfo &Builtin,
512512
SmallVector<llvm::Type *, 2> ArgTys; \
513513
auto opType = Builtin.Types[0]->getCanonicalType(); \
514514
ArgTys.push_back(IGF.IGM.getStorageTypeForLowered(opType)); \
515-
auto F = llvm::Intrinsic::getDeclaration( \
515+
auto F = llvm::Intrinsic::getOrInsertDeclaration( \
516516
&IGF.IGM.Module, getLLVMIntrinsicIDForBuiltinWithOverflow(Builtin.ID), \
517517
ArgTys); \
518518
SmallVector<llvm::Value *, 2> IRArgs; \

lib/IRGen/IRBuilder.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -310,8 +310,8 @@ class IRBuilder : public IRBuilderBase {
310310
// FunctionPointer.
311311

312312
bool isTrapIntrinsic(llvm::Value *Callee) {
313-
return Callee ==
314-
llvm::Intrinsic::getDeclaration(getModule(), llvm::Intrinsic::trap);
313+
return Callee == llvm::Intrinsic::getOrInsertDeclaration(
314+
getModule(), llvm::Intrinsic::trap);
315315
}
316316
bool isTrapIntrinsic(llvm::Intrinsic::ID intrinsicID) {
317317
return intrinsicID == llvm::Intrinsic::trap;
@@ -381,7 +381,7 @@ class IRBuilder : public IRBuilderBase {
381381
const Twine &name = "") {
382382
assert(!isTrapIntrinsic(intrinsicID) && "Use CreateNonMergeableTrap");
383383
auto intrinsicFn =
384-
llvm::Intrinsic::getDeclaration(getModule(), intrinsicID);
384+
llvm::Intrinsic::getOrInsertDeclaration(getModule(), intrinsicID);
385385
return CreateCallWithoutDbgLoc(
386386
cast<llvm::FunctionType>(intrinsicFn->getValueType()), intrinsicFn,
387387
args, name);
@@ -393,8 +393,8 @@ class IRBuilder : public IRBuilderBase {
393393
ArrayRef<llvm::Value *> args,
394394
const Twine &name = "") {
395395
assert(!isTrapIntrinsic(intrinsicID) && "Use CreateNonMergeableTrap");
396-
auto intrinsicFn =
397-
llvm::Intrinsic::getDeclaration(getModule(), intrinsicID, typeArgs);
396+
auto intrinsicFn = llvm::Intrinsic::getOrInsertDeclaration(
397+
getModule(), intrinsicID, typeArgs);
398398
return CreateCallWithoutDbgLoc(
399399
cast<llvm::FunctionType>(intrinsicFn->getValueType()), intrinsicFn,
400400
args, name);

lib/IRGen/IRGenFunction.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -525,8 +525,8 @@ llvm::CallInst *IRBuilder::CreateNonMergeableTrap(IRGenModule &IGM,
525525
}
526526

527527
// Emit the trap instruction.
528-
llvm::Function *trapIntrinsic =
529-
llvm::Intrinsic::getDeclaration(&IGM.Module, llvm::Intrinsic::trap);
528+
llvm::Function *trapIntrinsic = llvm::Intrinsic::getOrInsertDeclaration(
529+
&IGM.Module, llvm::Intrinsic::trap);
530530
if (EnableTrapDebugInfo && IGM.DebugInfo && !failureMsg.empty()) {
531531
IGM.DebugInfo->addFailureMessageToCurrentLoc(*this, failureMsg);
532532
}

0 commit comments

Comments
 (0)