Commit graph

452 commits

Author SHA1 Message Date
Folkert
5755475b3a
add ListIsUnique lowlevel operation 2022-05-06 13:56:35 +02:00
Brian Carroll
0a3d3e8409
Merge pull request #2987 from rtfeldman/issue-2793/u8-signed-comparison
Issue 2793/u8 signed comparison
2022-05-03 08:01:40 -05:00
Brian Carroll
de7fbc3fb9
Merge pull request #2990 from rtfeldman/llvm-wasm-string-literal
keep strings on the stack on 32-bit targets
2022-05-03 01:56:52 -05:00
Folkert
71cb370089
keep strings on the stack on 32-bit targets 2022-05-02 20:15:28 +02:00
Jared Cone
c0780aad92
Implemented unsigned int comparisons. 2022-05-02 04:28:28 -07:00
ayazhafiz
37ba70472f Add more debug flags 2022-05-01 12:25:03 -04:00
ayazhafiz
dad10af0f9 Make sure to stacksave on x86 2022-04-28 21:07:17 -04:00
Ayaz Hafiz
94f1e399e3
Fix codegen for non-aarch64 2022-04-28 11:10:01 -04:00
Ayaz Hafiz
0bc85ad32c
Only load setjmp/longjmp from Zig on aarch64 2022-04-28 09:13:29 -04:00
Ayaz Hafiz
8e117c0877 Clip 2022-04-27 22:43:39 -04:00
Ayaz Hafiz
b5dd5d4e80 Dead code 2022-04-27 22:43:39 -04:00
Ayaz Hafiz
fa8108e3a8 SJLJ roc_panic on AArch64
```
$ uname -m
arm64

$ cargo test -p test_gen gen_num::abs_min_int_overflow
    Finished test [unoptimized + debuginfo] target(s) in 0.09s
     Running src/tests.rs (target/debug/deps/test_gen-b2041868d2cf26f3)

running 1 test
test gen_num::abs_min_int_overflow - should panic ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 933 filtered out; finished in 0.14s
```
2022-04-27 22:43:34 -04:00
Ayaz
b8ad2aedb4
Update build.rs 2022-04-26 22:43:04 -04:00
Ayaz
bb180db30f
Fix a typo from AArch64-related bugfix 2022-04-26 22:42:17 -04:00
Ayaz Hafiz
fae4a8c9f8
Never really liked paperclips 2022-04-26 17:43:17 -04:00
Ayaz Hafiz
6d9598a179
Mark return-by-pointer parameters as sret in LLVM
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
```
2022-04-26 17:36:45 -04:00
Kevin Gillette
d236c28743
Merge branch 'trunk' into sqrt-unchecked 2022-04-18 19:12:22 -06:00
Kevin Gillette
9ed4ca9739
remove Num.mod and Num.modUnchecked 2022-04-18 13:54:40 -06:00
Kevin Gillette
1908ff41c3
rem, sqrt, log are unchecked but have checked variants
mod exists but is not implemented due to lack of hardware support
(emulation, possibly in terms of rem, is needed).
2022-04-17 14:40:39 -06:00
Folkert
e112f6ad2c
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc 2022-04-16 21:01:51 +02:00
Richard Feldman
be725d6421 Revert changes to IR filenames 2022-04-14 10:55:25 -04:00
Richard Feldman
412eb763bb
Add support for x64 linux 2022-04-13 01:21:12 -04:00
Richard Feldman
c7f5beb0ad
Rename generated .bc files to have target triples 2022-04-13 01:21:12 -04:00
Folkert
1d0f9e9192
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc 2022-04-08 15:47:11 +02:00
Richard Feldman
bfb7bb3874
Update comment 2022-04-07 18:36:33 -04:00
Richard Feldman
a4233ad661
Add LLVM implementation for toF32/64 2022-04-07 16:13:58 -04:00
Richard Feldman
cd00a98636
Add toF32/64 and checked versions 2022-04-07 16:13:57 -04:00
Richard Feldman
b35cc6ac8c
Merge pull request #2795 from rtfeldman/i/2582
Deal with fastcc return-by-pointer convention correctly
2022-04-04 20:14:49 -04:00
Ayaz Hafiz
0f0e56a21c
Deal with fastcc return-by-pointer convention correctly
Closes #2582
2022-04-04 16:33:01 -04:00
Folkert
68536e4026
Merge remote-tracking branch 'origin/trunk' into list-str-capacity 2022-04-04 19:55:04 +02:00
Folkert
1e397e950d
changes after review 2022-04-04 19:53:33 +02:00
Brendan Hansknecht
19c02aa087
Merge pull request #2789 from rtfeldman/atomic-rc
Use zig for all refcounts and add atomic support
2022-04-03 22:23:28 +00:00
Brendan Hansknecht
577282ced3 have zig allocate all refcounts 2022-04-01 14:06:28 -07:00
Folkert
0dd2cec09a
update with new clippy lints 2022-03-31 19:34:51 +02:00
Folkert
f9f3a255a9
Merge remote-tracking branch 'origin/trunk' into list-str-capacity 2022-03-31 19:19:36 +02:00
Folkert
61aeaefc76
a start with 32-bit linux support 2022-03-30 23:55:34 +02:00
Folkert
786246f427
when doing a memcpy, don't take alignment into account 2022-03-30 19:20:53 +02:00
Folkert
4426f5793b
rename a function 2022-03-30 19:08:09 +02:00
Folkert
972c5d78d3
use roc_ helpers for box loading and storing 2022-03-30 19:07:55 +02:00
Folkert
59a2253b9a
rework how tags are created 2022-03-30 19:07:40 +02:00
Folkert
1b29aa3e43
when doing a memcpy, don't take alignment into account 2022-03-30 17:33:43 +02:00
Folkert
c73c01aa34
Merge remote-tracking branch 'origin/trunk' into list-str-capacity 2022-03-30 14:07:17 +02:00
Folkert
dd84517f5f
revert to older constant string approach 2022-03-26 20:59:18 +01:00
Folkert
97b64a90a4
hacky fix to make llvm + standard linker work 2022-03-26 19:05:28 +01:00
Folkert
79dfd23513
stop zeroing out alloca's 2022-03-26 18:51:54 +01:00
Folkert
75ab8afc2b
remove optimization when values move between pointers, it was unsound (see comment in source) 2022-03-26 18:50:56 +01:00
Folkert
e6ae01384f
fix applied_tag_function_linked_list 2022-03-26 18:40:51 +01:00
Folkert
8e1e709fc1
pass all string tests 2022-03-26 18:25:20 +01:00
Folkert
8e6b1ff481
more string operations 2022-03-26 18:13:05 +01:00
Folkert
576e02ed85
Str.trim and friends 2022-03-26 18:03:53 +01:00