Commit Graph

32 Commits

Author SHA1 Message Date
bjorn3
2e65a8f2ca Use -Zcodegen-backend instead of a rustc replacement in cargo-clif 2022-04-29 19:13:41 +02:00
bjorn3
377f44d38c Inline ext_config.sh 2022-04-29 19:07:29 +02:00
bjorn3
5e0c62372c Minor changes to tests.sh 2022-04-27 16:54:35 +02:00
bjorn3
3c030e2425 Fix NaN handling of simd float min and max operations 2022-03-25 20:25:11 +01:00
bjorn3
a48fea6dda Add and remove some fixmes 2022-03-13 17:58:02 +01:00
bjorn3
0dd3d28cff Rename cargo executable to cargo-clif
This allows executing it like cargo clif build if you add it to your
PATH. It also fixes infinite recursion on Windows when invoking it as
Windows includes the current directory in PATH by default.

Fixes #971
2021-12-30 11:39:30 +01:00
bjorn3
97e5045493 Fix taking address of truly unsized type field of unsized adt 2021-12-20 18:49:43 +01:00
bjorn3
4560603b1c Re-enable portable simd testing 2021-09-12 20:27:50 +02:00
bjorn3
33b62ae3f3 Disable protable-simd tests
Portable-simd doesn't compile on latest nightly
2021-09-01 15:06:25 +02:00
bjorn3
66ccff19b8 Update protable-simd 2021-09-01 15:05:03 +02:00
bjorn3
c6564f814e Fix float min and max operations in presence of NaN
Cranelift's fmin and fmax instructions propagate NaN, while Rust's min
and max don't.

Fixes #1049
2021-07-29 15:21:14 +02:00
bjorn3
581e38b97c Add fixme 2021-07-25 19:12:31 +02:00
bjorn3
a0fb0facdc Run stdsimd test suite 2021-07-25 18:45:56 +02:00
bjorn3
80b9e36709 Put all cg_clif specific options behind -Zunstable-features 2021-07-17 16:32:55 +02:00
bjorn3
0d1cedecbb
Merge pull request #1166 from eggyal/lazy-jit-multithreaded
Multithreading support for lazy-jit
2021-06-25 18:33:00 +02:00
bjorn3
57c6eb7b2b Test multithreading support in lazy-jit 2021-06-25 17:49:43 +02:00
bjorn3
80e9188fb1 Rewrite cargo.sh in rust 2021-06-20 12:56:47 +02:00
bjorn3
b7180ae39a Add missing cargo clean when cross-compiling 2021-06-10 11:18:59 +02:00
bjorn3
20600f1df9 Force deprecation warning that was promoted to an error back to a warning 2021-05-04 14:16:59 +02:00
bjorn3
ab425a4bca Revert "Build with -Cpanic=unwind by default"
This reverts commit afe74d71e4. It
shouldn't have been pushed to master as it isn't ready yet.
2021-03-31 13:47:10 +02:00
bjorn3
afe74d71e4 Build with -Cpanic=unwind by default
This doesn't enable unwinding as cg_clif doesn't support it yet. It does
allow for linking to a cg_llvm compiled libstd.so, which uses
`-Cpanic=unwind`.
2021-03-31 12:16:33 +02:00
bjorn3
d23b12fa62 Build all tests when cross-compiling 2021-03-05 21:32:49 +01:00
bjorn3
a5bf6d2f18 Rustup to rustc 1.52.0-nightly (83b30a639 2021-02-20) 2021-02-21 17:27:53 +01:00
bjorn3
93373e13f0 Don't build alloc_system as part of the sysroot 2021-02-21 10:56:25 +01:00
bjorn3
9be3936e95 Use #!/usr/bin/env bash
FreeBSD doesn't have /bin/bash
2021-02-14 18:12:51 +01:00
bjorn3
17cffc1757 Move some env var definitions around to fix cross-compilation 2021-01-31 14:56:10 +01:00
bjorn3
3f6a3b5ebe Implement lazy compilation in JIT mode
Lazy compilation has the potential to significantly improve the startup
time of a program. While functions have to be codegened when called, it
is expected that a significant amount of all code is only required when
an error occurs or only when the program is used in certain ways.

The basic approach is to first codegen a shim for each function. This
shim calls the `__cg_clif_jit` function of cg_clif with a pointer to the
`Instance` corresponding to the function for which it is a shim.
`__cg_clif_jit` function then codegens this function and uses the hot
code swapping support of SimpleJIT to redirect future calls to the
function to the real version. Finally it calls the newly codegened
function.
2020-12-25 12:08:21 +01:00
bjorn3
20ffea6b8a Change the way JIT mode is selected 2020-12-25 11:31:33 +01:00
Jakob Hellermann
0f10f2a960 manually fix some shellcheck warnings 2020-11-04 16:14:00 +01:00
Jakob Hellermann
d6a9dfa3d4 run 'shellcheck -f diff $(fd --extension sh) | git apply' 2020-11-04 16:07:42 +01:00
bjorn3
0c34f5aba8 Refactor the build system 2020-11-02 18:17:39 +01:00
bjorn3
cb367602ff Split the actual tests out into scripts/tests.sh 2020-11-01 19:39:44 +01:00