Skip to content

Commit a4f5fba

Browse files
committed
stop using ir_check_ignore metadata
1 parent be50863 commit a4f5fba

File tree

1 file changed

+4
-30
lines changed

1 file changed

+4
-30
lines changed

src/device/intrinsics/output.jl

Lines changed: 4 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -18,38 +18,13 @@ export @mtlprintf
1818

1919
if arg == Cchar || arg == Cshort
2020
return :(Cint(arg))
21+
elseif arg == Cfloat
22+
return :(Cdouble(arg))
2123
else
2224
return :(arg)
2325
end
2426
end
2527

26-
@generated function tag_doubles(arg)
27-
@dispose ctx=Context() begin
28-
ret = arg == Cfloat ? Cdouble : arg
29-
T_arg = convert(LLVMType, arg)
30-
T_ret = convert(LLVMType, ret)
31-
32-
f, ft = create_function(T_ret, [T_arg])
33-
34-
@dispose builder=IRBuilder() begin
35-
entry = BasicBlock(f, "entry")
36-
position!(builder, entry)
37-
38-
p1 = parameters(f)[1]
39-
40-
if arg == Cfloat
41-
res = fpext!(builder, p1, LLVM.DoubleType())
42-
metadata(res)["ir_check_ignore"] = MDNode([])
43-
ret!(builder, res)
44-
else
45-
ret!(builder, p1)
46-
end
47-
end
48-
49-
call_function(f, ret, Tuple{arg}, :arg)
50-
end
51-
end
52-
5328
function valist_size(dl, param_types)
5429
size = 0
5530
for pty in param_types
@@ -76,7 +51,7 @@ macro mtlprintf(fmt::String, args...)
7651
if metal_version() < sv"3.2"
7752
@print_and_throw "@mtlprintf requires Metal 3.2 (macOS 15) or higher"
7853
else
79-
_mtlprintf($fmt_val, $(map(arg -> :(tag_doubles(promote_c_argument($arg))), esc.(args))...))
54+
_mtlprintf($fmt_val, $(map(arg -> :(promote_c_argument($arg)), esc.(args))...))
8055
end
8156
end
8257
end
@@ -148,8 +123,7 @@ end
148123
entry = BasicBlock(wrapper_f, "entry")
149124
position!(builder, entry)
150125

151-
call = call!(builder, llvm_ft, llvm_f, collect(parameters(wrapper_f)))
152-
metadata(call)["ir_check_ignore"] = MDNode([])
126+
call!(builder, llvm_ft, llvm_f, collect(parameters(wrapper_f)))
153127

154128
ret!(builder)
155129
end

0 commit comments

Comments
 (0)