Now that we are going to be updating the JIT to use LLVM 19 (see #124093), we can use the preserve_none attribute which exposes ghccc to the compiler instead of manually patching in the calling convention in LLVM IR and then compiling that. Additionally, preserve_none supports both x86-64 and AArch64 targets.
Will need to see what happens with 32-bit Windows during CI.
Linked PRs
Now that we are going to be updating the JIT to use LLVM 19 (see #124093), we can use the
preserve_noneattribute which exposes ghccc to the compiler instead of manually patching in the calling convention in LLVM IR and then compiling that. Additionally,preserve_nonesupports both x86-64 and AArch64 targets.Will need to see what happens with 32-bit Windows during CI.
Linked PRs
preserve_none#125499