Open hero-clashes opened 2 months ago
Do you have any examples of how token usage might look like? Inkwell pseudo code or llvm sys. Relevant llvm sys functions would help too
the thing their use aren't different from normal values, but they always used with intrinsic as args, for exmaple I call llvm.coro.alloc
with a token just like normal call let need_alloc = manual_call(llvm_coro_alloc, vec![id.as_value_ref()], "need_alloc".to_owned());
the manual_call func is the same function as direct call just without the void type return check, and with using the value ref directly, and the id is a token returned from llvm.coro.id
call
Describe the Bug I am trying to add coroutines inside my compiler and I wanted to use the
llvm.coro.id
intrinsic but when I tried to call it, it is panicking since in the build_call_help function it checks for the function return type but in that function is tries to box the Token type in BasicTypeEnum which doesn't support the token type Expected Behavior creating a call inst successfully for now I will call it manually by just copying the code for the build_call_help and removing the void return check LLVM Version (please complete the following information):Desktop (please complete the following information):
Add to that I can't box the id too, so every call that uses it I need to do it manually