I think this needs to happen at the level of Julia's IR. i.e. if a local variable contains a Tuple{Float64,Float64}, lower that to two local variables. We'll also need to track for each function how Julia-level locals and arguments map to WASM-level ones.
As a starting point we'll need a more flexible mapping to/from WASM types. I'm thinking something like
I think this needs to happen at the level of Julia's IR. i.e. if a local variable contains a
Tuple{Float64,Float64}
, lower that to two local variables. We'll also need to track for each function how Julia-level locals and arguments map to WASM-level ones.As a starting point we'll need a more flexible mapping to/from WASM types. I'm thinking something like