Skip to content

Commit 2348e6d

Browse files
committed
Fix indexing argument metadata numbering.
1 parent e8b4bd1 commit 2348e6d

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/metal.jl

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -565,12 +565,13 @@ function add_argument_metadata!(@nospecialize(job::CompilerJob), mod::LLVM.Modul
565565
md = Metadata[]
566566

567567
# argument index
568-
push!(md, Metadata(ConstantInt(Int32(arg.codegen.i-1); ctx)))
568+
@assert arg.codegen.i == i
569+
push!(md, Metadata(ConstantInt(Int32(i-1); ctx)))
569570

570571
push!(md, MDString("air.buffer"; ctx))
571572

572573
push!(md, MDString("air.location_index"; ctx))
573-
push!(md, Metadata(ConstantInt(Int32(arg.codegen.i-1); ctx)))
574+
push!(md, Metadata(ConstantInt(Int32(i-1); ctx)))
574575

575576
# XXX: unknown
576577
push!(md, Metadata(ConstantInt(Int32(1); ctx)))
@@ -603,14 +604,16 @@ function add_argument_metadata!(@nospecialize(job::CompilerJob), mod::LLVM.Modul
603604

604605
arg_info = Metadata[]
605606

606-
push!(arg_info, Metadata(ConstantInt(Int32(length(parameters(entry))-i); ctx)))
607+
push!(arg_info, Metadata(ConstantInt(Int32(i-1); ctx)))
607608
push!(arg_info, MDString("air.$intr_fn" ; ctx))
608609

609610
push!(arg_info, MDString("air.arg_type_name" ; ctx))
610611
push!(arg_info, MDString(argument_type_name(llvmtype(intr_arg)); ctx))
611612

612613
arg_info = MDNode(arg_info; ctx)
613614
push!(arg_infos, arg_info)
615+
616+
i += 1
614617
end
615618
arg_infos = MDNode(arg_infos; ctx)
616619

0 commit comments

Comments
 (0)