I notice that the argument types in ccall are passed as a tuple of
types, whereas the arguments to llvmcall are passed as a tuple type.
That is, there is e.g.

ccall(:foo, Int, (Int, Int), ...)

and

llvmcall("foo", Int, Tuple{Int, Int}, ...)

Why is this? Is this just for historic reasons? Should this be changed?

Note that the llvmcall code receives multiple arguments (%0, %1, ...),
not just a single tuple argument.

-erik

-- 
Erik Schnetter <[email protected]>
http://www.perimeterinstitute.ca/personal/eschnetter/

Reply via email to