We need to do this so that LLVM picks up the correct calling convention
- in particular, on AArch64, return-by-pointer parameters need to go in
x8 for the C callconv!
This ends up fixing all `cli_run` tests!
```
running 35 tests
WARNING: skipping testing example form.roc because the test is broken right now!
test cli_run::cli ... ok
test cli_run::exposed_not_defined ... ok
test cli_run::format_check_folders ... ok
test cli_run::format_check_good ... ok
test cli_run::format_check_reformatting_needed ... ok
test cli_run::effects ... ok
test cli_run::fib ... ok
test cli_run::helloC ... ok
test cli_run::closure ... ok
WARNING: skipping testing example helloWeb.roc because the test is broken right now!
test cli_run::helloWeb ... ok
test cli_run::cfold ... ok
test cli_run::base64 ... ok
test cli_run::helloWorld ... ok
test cli_run::known_type_error ... ok
test cli_run::helloRust ... ok
test cli_run::helloZig ... ok
WARNING: skipping testing benchmark QuicksortApp.roc because the test is broken right now!
test cli_run::quicksort_app ... ok
test cli_run::astar ... ok
test cli_run::quicksort ... ok
test cli_run::issue2279 ... ok
test cli_run::helloSwift ... ok
test cli_run::run_multi_dep_str_optimized ... ok
test cli_run::nqueens ... ok
test cli_run::false_interpreter ... ok
test cli_run::rbtree_ck ... ok
test cli_run::unknown_generates_with ... ok
test cli_run::rbtree_insert ... ok
test cli_run::unused_import ... ok
test cli_run::run_multi_dep_str_unoptimized ... ok
test cli_run::tui ... ok
test cli_run::run_multi_dep_thunk_optimized ... ok
test cli_run::run_multi_dep_thunk_unoptimized ... ok
test cli_run::deriv ... ok
test cli_run::breakout ... ok
test cli_run::gui ... ok
test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 12.09s
```
This appears to be necessary to compile our programs on AArch64 boxes.
My guess is special-cased code due to PIEs for large code models in
LLVM's codebase but I really have no idea.