@@ -13648,7 +13648,7 @@ Value *CodeGenFunction::EmitBPFBuiltinExpr(unsigned BuiltinID,
1364813648 Value *InfoKind = ConstantInt::get(Int64Ty, C->getSExtValue());
1364913649
1365013650 // Built the IR for the preserve_field_info intrinsic.
13651- llvm::Function *FnGetFieldInfo = llvm::Intrinsic::getDeclaration (
13651+ llvm::Function *FnGetFieldInfo = llvm::Intrinsic::getOrInsertDeclaration (
1365213652 &CGM.getModule(), llvm::Intrinsic::bpf_preserve_field_info,
1365313653 {FieldAddr->getType()});
1365413654 return Builder.CreateCall(FnGetFieldInfo, {FieldAddr, InfoKind});
@@ -13670,10 +13670,10 @@ Value *CodeGenFunction::EmitBPFBuiltinExpr(unsigned BuiltinID,
1367013670
1367113671 llvm::Function *FnDecl;
1367213672 if (BuiltinID == BPF::BI__builtin_btf_type_id)
13673- FnDecl = llvm::Intrinsic::getDeclaration (
13673+ FnDecl = llvm::Intrinsic::getOrInsertDeclaration (
1367413674 &CGM.getModule(), llvm::Intrinsic::bpf_btf_type_id, {});
1367513675 else
13676- FnDecl = llvm::Intrinsic::getDeclaration (
13676+ FnDecl = llvm::Intrinsic::getOrInsertDeclaration (
1367713677 &CGM.getModule(), llvm::Intrinsic::bpf_preserve_type_info, {});
1367813678 CallInst *Fn = Builder.CreateCall(FnDecl, {SeqNumVal, FlagValue});
1367913679 Fn->setMetadata(LLVMContext::MD_preserve_access_index, DbgInfo);
@@ -13708,7 +13708,7 @@ Value *CodeGenFunction::EmitBPFBuiltinExpr(unsigned BuiltinID,
1370813708 Value *FlagValue = ConstantInt::get(Int64Ty, Flag->getSExtValue());
1370913709 Value *SeqNumVal = ConstantInt::get(Int32Ty, BuiltinSeqNum++);
1371013710
13711- llvm::Function *IntrinsicFn = llvm::Intrinsic::getDeclaration (
13711+ llvm::Function *IntrinsicFn = llvm::Intrinsic::getOrInsertDeclaration (
1371213712 &CGM.getModule(), llvm::Intrinsic::bpf_preserve_enum_value, {});
1371313713 CallInst *Fn =
1371413714 Builder.CreateCall(IntrinsicFn, {SeqNumVal, EnumStrVal, FlagValue});
@@ -18895,7 +18895,8 @@ case Builtin::BI__builtin_hlsl_elementwise_isinf: {
1889518895 }
1889618896 case Builtin::BI__builtin_hlsl_wave_is_first_lane: {
1889718897 Intrinsic::ID ID = CGM.getHLSLRuntime().getWaveIsFirstLaneIntrinsic();
18898- return EmitRuntimeCall(Intrinsic::getDeclaration(&CGM.getModule(), ID));
18898+ return EmitRuntimeCall(
18899+ Intrinsic::getOrInsertDeclaration(&CGM.getModule(), ID));
1889918900 }
1890018901 case Builtin::BI__builtin_hlsl_elementwise_sign: {
1890118902 auto *Arg0 = E->getArg(0);
0 commit comments