Skip to content

Commit

Permalink
Update for nocapture to captures(none) Attribute change
Browse files Browse the repository at this point in the history
Update after llvm-project commit 29441e4f5fa5 ("[IR] Convert from
nocapture to captures(none) (#123181)", 2025-01-29).

This includes a bulk replacement `s/nocapture/captures(none)/g` in the
test files.  A few of the `captures` attributes in CHECK lines had to
be reordered manually.
  • Loading branch information
svenvh committed Jan 30, 2025
1 parent 16e23af commit c6267bc
Show file tree
Hide file tree
Showing 112 changed files with 272 additions and 268 deletions.
1 change: 0 additions & 1 deletion lib/SPIRV/SPIRVInternal.h
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,6 @@ inline void SPIRVMap<Attribute::AttrKind, SPIRVFuncParamAttrKind>::init() {
add(Attribute::ByVal, FunctionParameterAttributeByVal);
add(Attribute::StructRet, FunctionParameterAttributeSret);
add(Attribute::NoAlias, FunctionParameterAttributeNoAlias);
add(Attribute::NoCapture, FunctionParameterAttributeNoCapture);
add(Attribute::ReadOnly, FunctionParameterAttributeNoWrite);
add(Attribute::ReadNone, FunctionParameterAttributeNoReadWrite);
}
Expand Down
5 changes: 5 additions & 0 deletions lib/SPIRV/SPIRVReader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3223,6 +3223,11 @@ void SPIRVToLLVM::transFunctionAttrs(SPIRVFunction *BF, Function *F) {
// OpenCL metadata
if (Kind == FunctionParameterAttributeRuntimeAlignedINTEL)
return;
if (Kind == FunctionParameterAttributeNoCapture) {
I->addAttr(Attribute::getWithCaptureInfo(F->getContext(),
CaptureInfo::none()));
return;
}
Attribute::AttrKind LLVMKind = SPIRSPIRVFuncParamAttrMap::rmap(Kind);
if (IllegalAttrs.contains(LLVMKind))
return;
Expand Down
2 changes: 1 addition & 1 deletion lib/SPIRV/SPIRVRegularizeLLVM.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ void SPIRVRegularizeLLVMBase::lowerIntrinsicToFunction(
Intrinsic->setCalledFunction(F);
return;
}
// TODO copy arguments attributes: nocapture writeonly.
// TODO copy arguments attributes: captures(none) writeonly.
FunctionCallee FC =
M->getOrInsertFunction(FuncName, Intrinsic->getFunctionType());
auto IntrinsicID = Intrinsic->getIntrinsicID();
Expand Down
2 changes: 1 addition & 1 deletion test/DebugInfo/Generic/2010-10-01-crash.ll
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ entry:

declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone

declare void @llvm.memcpy.p0.p0.i32(ptr nocapture, ptr nocapture, i32, i1) nounwind
declare void @llvm.memcpy.p0.p0.i32(ptr captures(none), ptr captures(none), i32, i1) nounwind


!llvm.dbg.cu = !{!2}
Expand Down
10 changes: 5 additions & 5 deletions test/DebugInfo/Generic/c-and-cpp-mixed.ll
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,16 @@

; CHECK-LLVM: define spir_func void @foo() #0 !dbg ![[#Func1:]] {
; CHECK-LLVM: entry:
; CHECK-LLVM: %puts = call spir_func i32 @puts(ptr addrspace(1) nocapture @str) #0, !dbg ![[#Puts1Loc:]]
; CHECK-LLVM: %puts = call spir_func i32 @puts(ptr addrspace(1) captures(none) @str) #0, !dbg ![[#Puts1Loc:]]
; CHECK-LLVM: ret void, !dbg ![[#Ret1:]]
; CHECK-LLVM: }

; CHECK-LLVM: define spir_func i32 @main(i32 %argc, ptr nocapture %argv) #0 !dbg ![[#Func2:]] {
; CHECK-LLVM: define spir_func i32 @main(i32 %argc, ptr captures(none) %argv) #0 !dbg ![[#Func2:]] {
; CHECK-LLVM: entry:
; CHECK-LLVM: #dbg_value(i32 %argc, ![[#Fun2Param1:]], !DIExpression(), ![[#Fun2Param1Loc:]])
; CHECK-LLVM: #dbg_value(ptr %argv, ![[#Fun2Param2:]], !DIExpression(DW_OP_deref, DW_OP_deref), ![[#Fun2Param2Loc:]])
; CHECK-LLVM: %0 = bitcast ptr addrspace(1) @str1 to ptr addrspace(1), !dbg ![[#Puts2Loc:]]
; CHECK-LLVM: %puts = call spir_func i32 @puts(ptr addrspace(1) nocapture %0) #0, !dbg ![[#Puts2Loc]]
; CHECK-LLVM: %puts = call spir_func i32 @puts(ptr addrspace(1) captures(none) %0) #0, !dbg ![[#Puts2Loc]]
; CHECK-LLVM: call spir_func void @foo() #0, !dbg ![[#CallFoo:]]
; CHECK-LLVM: ret i32 0, !dbg ![[#Ret2:]]
; CHECK-LLVM: }
Expand Down Expand Up @@ -74,9 +74,9 @@ entry:
ret void, !dbg !25
}

declare i32 @puts(ptr addrspace(1) nocapture) nounwind
declare i32 @puts(ptr addrspace(1) captures(none)) nounwind

define i32 @main(i32 %argc, ptr nocapture %argv) nounwind !dbg !12 {
define i32 @main(i32 %argc, ptr captures(none) %argv) nounwind !dbg !12 {
entry:
tail call void @llvm.dbg.value(metadata i32 %argc, metadata !21, metadata !DIExpression()), !dbg !26
; Avoid talking about the pointer size in debug info because that's target dependent
Expand Down
2 changes: 1 addition & 1 deletion test/DebugInfo/Generic/debug-info-eis-option.ll
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ target triple = "spir64-unknown-unknown"
source_filename = "linear-dbg-value.ll"

; Function Attrs: nounwind readonly uwtable
define i32 @foo(ptr nocapture readonly %a, i32 %N) local_unnamed_addr #0 !dbg !6 {
define i32 @foo(ptr captures(none) readonly %a, i32 %N) local_unnamed_addr #0 !dbg !6 {
entry:
%cmp6 = icmp sgt i32 %N, 0, !dbg !11
br i1 %cmp6, label %for.body.preheader, label %for.cond.cleanup, !dbg !15
Expand Down
2 changes: 1 addition & 1 deletion test/DebugInfo/Generic/linear-dbg-value.ll
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ target triple = "spir64-unknown-unknown"
source_filename = "linear-dbg-value.ll"

; Function Attrs: nounwind readonly uwtable
define i32 @foo(ptr nocapture readonly %a, i32 %N) local_unnamed_addr #0 !dbg !6 {
define i32 @foo(ptr captures(none) readonly %a, i32 %N) local_unnamed_addr #0 !dbg !6 {
entry:
%cmp6 = icmp sgt i32 %N, 0, !dbg !11
br i1 %cmp6, label %for.body.preheader, label %for.cond.cleanup, !dbg !15
Expand Down
4 changes: 2 additions & 2 deletions test/DebugInfo/Generic/two-cus-from-same-file.ll
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ entry:
ret void, !dbg !25
}

declare i32 @puts(ptr addrspace(1) nocapture) nounwind
declare i32 @puts(ptr addrspace(1) captures(none)) nounwind

define i32 @main(i32 %argc, ptr nocapture %argv) nounwind !dbg !12 {
define i32 @main(i32 %argc, ptr captures(none) %argv) nounwind !dbg !12 {
entry:
tail call void @llvm.dbg.value(metadata i32 %argc, metadata !21, metadata !DIExpression()), !dbg !26
; Avoid talking about the pointer size in debug info because that's target dependent
Expand Down
4 changes: 2 additions & 2 deletions test/DebugInfo/NonSemantic/Shader200/FortranComplex.ll
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,10 @@ alloca_0:
ret void, !dbg !16
}

declare !llfort.intrin_id !17 !llfort.type_idx !18 i32 @for_set_fpe_(ptr addrspace(1) nocapture readonly) local_unnamed_addr
declare !llfort.intrin_id !17 !llfort.type_idx !18 i32 @for_set_fpe_(ptr addrspace(1) captures(none) readonly) local_unnamed_addr

; Function Attrs: nofree
declare !llfort.intrin_id !19 !llfort.type_idx !20 i32 @for_set_reentrancy(ptr addrspace(1) nocapture readonly) local_unnamed_addr
declare !llfort.intrin_id !19 !llfort.type_idx !20 i32 @for_set_reentrancy(ptr addrspace(1) captures(none) readonly) local_unnamed_addr

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare void @llvm.dbg.value(metadata, metadata, metadata)
Expand Down
4 changes: 2 additions & 2 deletions test/DebugInfo/RecursiveDebugInfo.ll
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ entry:
}

; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1
declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #1

; Function Attrs: nounwind readnone speculatable willreturn
declare void @llvm.dbg.declare(metadata, metadata, metadata) #2
Expand All @@ -99,7 +99,7 @@ entry:
}

; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1
declare void @llvm.lifetime.end.p0(i64 immarg, ptr captures(none)) #1

; Function Attrs: nounwind
define linkonce_odr dso_local spir_func void @_ZN8iteratorI6vectorEC2Ev(ptr addrspace(4) %this) unnamed_addr #4 comdat align 2 !dbg !62 {
Expand Down
2 changes: 1 addition & 1 deletion test/DebugInfo/X86/dbg-value-location.ll
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ if.else: ; preds = %entry
ret i32 0
}

declare hidden fastcc i32 @bar(i32, ptr nocapture) nounwind optsize ssp
declare hidden fastcc i32 @bar(i32, ptr captures(none)) nounwind optsize ssp
declare hidden fastcc i32 @bar2(i32) nounwind optsize ssp
declare hidden fastcc i32 @bar3(i32) nounwind optsize ssp
declare void @llvm.dbg.value(metadata, metadata, metadata) nounwind readnone
Expand Down
2 changes: 1 addition & 1 deletion test/DebugInfo/X86/dbg-value-range.ll
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ target triple = "spir64-unknown-unknown"

%struct.a = type { i32 }

define i32 @bar(ptr nocapture %b) nounwind ssp !dbg !0 {
define i32 @bar(ptr captures(none) %b) nounwind ssp !dbg !0 {
entry:
tail call void @llvm.dbg.value(metadata ptr %b, metadata !6, metadata !DIExpression()), !dbg !13
%tmp2 = load i32, ptr %b, align 4, !dbg !14
Expand Down
2 changes: 1 addition & 1 deletion test/DebugInfo/bitfields_packed.ll
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ define dso_local spir_func noundef i32 @_Z3fooii(i32 noundef %0, i32 noundef %1)
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p4.p1.i64(ptr addrspace(4) noalias nocapture writeonly, ptr addrspace(1) noalias nocapture readonly, i64, i1 immarg) #2
declare void @llvm.memcpy.p4.p1.i64(ptr addrspace(4) noalias captures(none) writeonly, ptr addrspace(1) noalias captures(none) readonly, i64, i1 immarg) #2

attributes #0 = { convergent mustprogress noinline norecurse nounwind optnone "approx-func-fp-math"="true" "frame-pointer"="all" "min-legal-vector-width"="0" "no-infs-fp-math"="true" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="bitfields-packed.cpp" "unsafe-fp-math"="true" }
attributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
Expand Down
4 changes: 2 additions & 2 deletions test/SpecConstants/long-spec-const-composite.ll
Original file line number Diff line number Diff line change
Expand Up @@ -65600,10 +65600,10 @@ entry:
}

; Function Attrs: argmemonly nofree nosync nounwind willreturn
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1
declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #1

; Function Attrs: argmemonly nofree nosync nounwind willreturn
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1
declare void @llvm.lifetime.end.p0(i64 immarg, ptr captures(none)) #1

declare float @_Z20__spirv_SpecConstantif(i32, float)

Expand Down
2 changes: 1 addition & 1 deletion test/capbility-kernel.ll
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ target triple = "spir64-unknown-unknown"

; CHECK-DAG: {{[0-9]*}} Capability Linkage
; Function Attrs: nounwind
define spir_func void @func_export(ptr addrspace(1) nocapture %a) #0 {
define spir_func void @func_export(ptr addrspace(1) captures(none) %a) #0 {
entry:
; CHECK-DAG: {{[0-9]*}} Capability Int64
%call = tail call spir_func i64 @_Z13get_global_idj(i32 0) #3
Expand Down
2 changes: 1 addition & 1 deletion test/constexpr_phi.ll
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ define dso_local i32 @_Z2f2i(i32 %0) {
ret i32 %2
}

define dso_local i64 @_Z3runiiPi(i32 %0, i32 %1, ptr nocapture %2) local_unnamed_addr {
define dso_local i64 @_Z3runiiPi(i32 %0, i32 %1, ptr captures(none) %2) local_unnamed_addr {
%4 = icmp slt i32 %0, 10
br i1 %4, label %5, label %7

Expand Down
4 changes: 2 additions & 2 deletions test/custom_class.ll
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ entry:
}

; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1
declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #1

; Function Attrs: inlinehint norecurse
define internal spir_func void @"_ZZZ4mainENK3$_0clERN2cl4sycl7handlerEENKUlvE_clEv"(ptr addrspace(4) %this) #2 align 2 {
Expand All @@ -63,7 +63,7 @@ entry:
}

; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1
declare void @llvm.lifetime.end.p0(i64 immarg, ptr captures(none)) #1

; Function Attrs: norecurse nounwind
define dso_local spir_func void @_ZN11CustomClassC2Ei(ptr addrspace(4) %this, i32 %value) unnamed_addr #3 align 2 {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ declare spir_func i32 @_Z18__spirv_ocl_printfPU3AS3c(ptr addrspace(3)) #0
declare spir_func i32 @_Z18__spirv_ocl_printfPU3AS4c(ptr addrspace(4)) #0

; Function Attrs: nounwind
declare void @llvm.memcpy.p0.p2.i64(ptr nocapture, ptr addrspace(2) nocapture readonly, i64, i1) #0
declare void @llvm.memcpy.p0.p2.i64(ptr captures(none), ptr addrspace(2) captures(none) readonly, i64, i1) #0

attributes #0 = { nounwind }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ entry:
}

; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1
declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #1

; Function Attrs: inlinehint norecurse
define internal spir_func void @"_ZZ4mainENK3$_0clEv"(ptr addrspace(4) %this) #2 align 2 {
Expand All @@ -264,7 +264,7 @@ entry:
}

; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1
declare void @llvm.lifetime.end.p0(i64 immarg, ptr captures(none)) #1

; Function Attrs: norecurse nounwind
define linkonce_odr dso_local spir_func void @_Z4sqrtILi13ELi5ELb0ELi2ELi2EEvv() #3 comdat {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -493,7 +493,7 @@ define dso_local spir_kernel void @_ZTSZ4mainE15kernel_function() #0 !kernel_arg
}

; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1
declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #1

; Function Attrs: inlinehint norecurse
define internal spir_func void @"_ZZ4mainENK3$_0clEv"(ptr addrspace(4) %0) #2 align 2 {
Expand Down Expand Up @@ -548,7 +548,7 @@ define internal spir_func void @"_ZZ4mainENK3$_0clEv"(ptr addrspace(4) %0) #2 al
}

; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1
declare void @llvm.lifetime.end.p0(i64 immarg, ptr captures(none)) #1

; Function Attrs: norecurse nounwind
define linkonce_odr dso_local spir_func void @_Z13ap_float_castILi11ELi28ELi9ELi30EEvv() #3 {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ target triple = "spir-unknown-unknown"
%structtype = type { float, float }

; Function Attrs: nounwind
define spir_func void @_Z19cmul_kernel_complexPSt7complexIfES1_S1_(ptr noalias nocapture readonly %a, ptr noalias nocapture readonly %b, ptr noalias nocapture %c) #0 {
define spir_func void @_Z19cmul_kernel_complexPSt7complexIfES1_S1_(ptr noalias captures(none) readonly %a, ptr noalias captures(none) readonly %b, ptr noalias captures(none) %c) #0 {
entry:
%0 = load <2 x float>, ptr %a, align 4
%1 = load <2 x float>, ptr %b, align 4
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ entry:
declare ptr addrspace(4) @llvm.ptr.annotation.p4.p1(ptr addrspace(4), ptr addrspace(1), ptr addrspace(1), i32, ptr addrspace(1)) #1

; Function Attrs: argmemonly nofree nounwind willreturn
declare void @llvm.memcpy.p4.p0(ptr addrspace(4) noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #2
declare void @llvm.memcpy.p4.p0(ptr addrspace(4) noalias captures(none) writeonly, ptr noalias captures(none) readonly, i64, i1 immarg) #2

!opencl.enable.FP_CONTRACT = !{}
!opencl.ocl.version = !{!0}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ define dso_local spir_kernel void @_ZTSZ4mainE15kernel_function() #0 !kernel_arg
}

; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture) #1
declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* captures(none)) #1

; Function Attrs: inlinehint nounwind
define internal spir_func void @"_ZZ4mainENK3$_0clEv"(%"class._ZTSZ4mainE3$_0.anon" addrspace(4)* %0) #2 align 2 {
Expand All @@ -126,7 +126,7 @@ define internal spir_func void @"_ZZ4mainENK3$_0clEv"(%"class._ZTSZ4mainE3$_0.an
}

; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* nocapture) #1
declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* captures(none)) #1

; CHECK-SPIRV: Function
; Function Attrs: nounwind
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ arrayinit.end8: ; preds = %arrayinit.body3
}

; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture) #1
declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* captures(none)) #1

; CHECK-SPIRV: Function {{.*}} [[TYPE_EMB_FUNC]]
; CHECK-LLVM: define internal spir_func void {{.*}}(ptr addrspace(4) %this)
Expand Down Expand Up @@ -266,7 +266,7 @@ for.end20: ; preds = %for.cond.cleanup
}

; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* nocapture) #1
declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* captures(none)) #1

; Function Attrs: convergent norecurse uwtable
define dso_local spir_kernel void @_ZTSZ4mainE18VaryingSafelenOnPointersTest(i32 addrspace(1)* %_arg_, i32 addrspace(1)* %_arg_1) #0 !kernel_arg_buffer_location !4 {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -248,9 +248,9 @@ for.end11: ; preds = %for.cond.cleanup4
ret void
}

declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none))

declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr captures(none))

attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "denorms-are-zero"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "uniform-work-group-size"="true" "unsafe-fp-math"="false" "use-soft-float"="false" }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ entry:
}

; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1
declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #1

; Function Attrs: inlinehint nounwind
define internal spir_func void @"_ZZ4mainENK3$_0clEv"(ptr addrspace(4) %this) #2 align 2 {
Expand All @@ -150,7 +150,7 @@ entry:
}

; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1
declare void @llvm.lifetime.end.p0(i64 immarg, ptr captures(none)) #1

; Function Attrs: nounwind
define dso_local spir_func void @_Z3foov() #3 {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,10 @@ for.end: ; preds = %for.cond.cleanup
}

; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1
declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #1

; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1
declare void @llvm.lifetime.end.p0(i64 immarg, ptr captures(none)) #1

; Function Attrs: norecurse nounwind
define i32 @main() #2 {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ entry:
}

; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture) #1
declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* captures(none)) #1

; Function Attrs: inlinehint norecurse nounwind
define internal spir_func void @"_ZZ4mainENK3$_0clEv"(%"class._ZTSZ4mainE3$_0.anon" addrspace(4)* %this) #2 align 2 {
Expand Down Expand Up @@ -126,7 +126,7 @@ entry:
}

; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* nocapture) #1
declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* captures(none)) #1

; CHECK-LLVM: define spir_func void @{{.*}}foo
; Function Attrs: norecurse nounwind
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ entry:
}

; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1
declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #1

; Function Attrs: inlinehint norecurse nounwind
define internal spir_func void @"_ZZ4mainENK3$_0clEv"(ptr %this) #2 align 2 {
Expand All @@ -103,7 +103,7 @@ entry:
}

; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1
declare void @llvm.lifetime.end.p0(i64 immarg, ptr captures(none)) #1

; CHECK-LLVM: void @_Z13numbanks_stati(i32 %a)
; Function Attrs: norecurse nounwind
Expand Down
Loading

0 comments on commit c6267bc

Please sign in to comment.