@@ -13648,7 +13648,7 @@ Value *CodeGenFunction::EmitBPFBuiltinExpr(unsigned BuiltinID,
13648
13648
Value *InfoKind = ConstantInt::get(Int64Ty, C->getSExtValue());
13649
13649
13650
13650
// Built the IR for the preserve_field_info intrinsic.
13651
- llvm::Function *FnGetFieldInfo = llvm::Intrinsic::getDeclaration (
13651
+ llvm::Function *FnGetFieldInfo = llvm::Intrinsic::getOrInsertDeclaration (
13652
13652
&CGM.getModule(), llvm::Intrinsic::bpf_preserve_field_info,
13653
13653
{FieldAddr->getType()});
13654
13654
return Builder.CreateCall(FnGetFieldInfo, {FieldAddr, InfoKind});
@@ -13670,10 +13670,10 @@ Value *CodeGenFunction::EmitBPFBuiltinExpr(unsigned BuiltinID,
13670
13670
13671
13671
llvm::Function *FnDecl;
13672
13672
if (BuiltinID == BPF::BI__builtin_btf_type_id)
13673
- FnDecl = llvm::Intrinsic::getDeclaration (
13673
+ FnDecl = llvm::Intrinsic::getOrInsertDeclaration (
13674
13674
&CGM.getModule(), llvm::Intrinsic::bpf_btf_type_id, {});
13675
13675
else
13676
- FnDecl = llvm::Intrinsic::getDeclaration (
13676
+ FnDecl = llvm::Intrinsic::getOrInsertDeclaration (
13677
13677
&CGM.getModule(), llvm::Intrinsic::bpf_preserve_type_info, {});
13678
13678
CallInst *Fn = Builder.CreateCall(FnDecl, {SeqNumVal, FlagValue});
13679
13679
Fn->setMetadata(LLVMContext::MD_preserve_access_index, DbgInfo);
@@ -13708,7 +13708,7 @@ Value *CodeGenFunction::EmitBPFBuiltinExpr(unsigned BuiltinID,
13708
13708
Value *FlagValue = ConstantInt::get(Int64Ty, Flag->getSExtValue());
13709
13709
Value *SeqNumVal = ConstantInt::get(Int32Ty, BuiltinSeqNum++);
13710
13710
13711
- llvm::Function *IntrinsicFn = llvm::Intrinsic::getDeclaration (
13711
+ llvm::Function *IntrinsicFn = llvm::Intrinsic::getOrInsertDeclaration (
13712
13712
&CGM.getModule(), llvm::Intrinsic::bpf_preserve_enum_value, {});
13713
13713
CallInst *Fn =
13714
13714
Builder.CreateCall(IntrinsicFn, {SeqNumVal, EnumStrVal, FlagValue});
@@ -18895,7 +18895,8 @@ case Builtin::BI__builtin_hlsl_elementwise_isinf: {
18895
18895
}
18896
18896
case Builtin::BI__builtin_hlsl_wave_is_first_lane: {
18897
18897
Intrinsic::ID ID = CGM.getHLSLRuntime().getWaveIsFirstLaneIntrinsic();
18898
- return EmitRuntimeCall(Intrinsic::getDeclaration(&CGM.getModule(), ID));
18898
+ return EmitRuntimeCall(
18899
+ Intrinsic::getOrInsertDeclaration(&CGM.getModule(), ID));
18899
18900
}
18900
18901
case Builtin::BI__builtin_hlsl_elementwise_sign: {
18901
18902
auto *Arg0 = E->getArg(0);
0 commit comments