Skip to content

Commit 5536c45

Browse files
authored
Metal: Don't use deprecated LLVM.jl functionality. (#455)
1 parent e8d41a5 commit 5536c45

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

src/metal.jl

+6-7
Original file line numberDiff line numberDiff line change
@@ -864,13 +864,12 @@ function lower_llvm_intrinsics!(@nospecialize(job::CompilerJob), fun::LLVM.Funct
864864
error("Unsupported intrinsic type: $typ")
865865
end
866866

867-
new_intr_ft = LLVM.FunctionType(typ, parameters(call_ft))
868-
new_intr = LLVM.Function(mod, fn, new_intr_ft)
867+
new_intr = LLVM.Function(mod, fn, call_ft)
869868
@dispose builder=IRBuilder(ctx) begin
870869
position!(builder, call)
871870
debuglocation!(builder, call)
872871

873-
new_value = call!(builder, new_intr, arguments(call))
872+
new_value = call!(builder, call_ft, new_intr, arguments(call))
874873
replace_uses!(call, new_value)
875874
unsafe_delete!(bb, call)
876875
changed = true
@@ -936,7 +935,7 @@ function lower_llvm_intrinsics!(@nospecialize(job::CompilerJob), fun::LLVM.Funct
936935
if haskey(functions(mod), new_intr_fn)
937936
new_intr = functions(mod)[new_intr_fn]
938937
else
939-
new_intr = LLVM.Function(mod, new_intr_fn, LLVM.FunctionType(typ, parameters(call_ft)))
938+
new_intr = LLVM.Function(mod, new_intr_fn, call_ft)
940939
push!(function_attributes(new_intr), EnumAttribute("alwaysinline"; ctx))
941940

942941
arg0, arg1 = parameters(new_intr)
@@ -1008,9 +1007,9 @@ function lower_llvm_intrinsics!(@nospecialize(job::CompilerJob), fun::LLVM.Funct
10081007
fallback_intr = if haskey(functions(mod), fallback_intr_fn)
10091008
functions(mod)[fallback_intr_fn]
10101009
else
1011-
LLVM.Function(mod, fallback_intr_fn, LLVM.FunctionType(typ, parameters(call_ft)))
1010+
LLVM.Function(mod, fallback_intr_fn, call_ft)
10121011
end
1013-
val = call!(builder, fallback_intr, collect(parameters(new_intr)))
1012+
val = call!(builder, call_ft, fallback_intr, collect(parameters(new_intr)))
10141013
ret!(builder, val)
10151014
end
10161015
end
@@ -1019,7 +1018,7 @@ function lower_llvm_intrinsics!(@nospecialize(job::CompilerJob), fun::LLVM.Funct
10191018
position!(builder, call)
10201019
debuglocation!(builder, call)
10211020

1022-
new_value = call!(builder, new_intr, arguments(call))
1021+
new_value = call!(builder, call_ft, new_intr, arguments(call))
10231022
replace_uses!(call, new_value)
10241023
unsafe_delete!(bb, call)
10251024
changed = true

0 commit comments

Comments
 (0)