Commit graph

7453 commits

Author SHA1 Message Date
Folkert
fc905b505c codegen for letrec 2020-03-26 14:53:38 +01:00
Folkert
1108e56750 add Bool.not 2020-03-26 14:48:11 +01:00
Folkert
08403b0a1f enable tail-call elimination in llvm 2020-03-26 14:02:53 +01:00
Richard Feldman
a561f343b2 Remove Cranelift for now. 2020-03-25 20:19:58 -04:00
Richard Feldman
a07acd875f Fix test compilation error 2020-03-25 20:07:10 -04:00
Richard Feldman
8390bd966a Revert "Try using special struct return values"
This reverts commit 0628c104513d1cae44859c1d804177c4a1e33c95.
2020-03-25 19:47:28 -04:00
Richard Feldman
fcd917c9fe Re-disable cranelift test_gen tests for now 2020-03-25 19:47:28 -04:00
Richard Feldman
2491b2e43b Restore some more things to how they were before 2020-03-25 19:47:28 -04:00
Richard Feldman
0951f8048e Try using special struct return values 2020-03-25 19:47:28 -04:00
Richard Feldman
aae69e8b55 Try having main return multiple values 2020-03-25 19:47:28 -04:00
Richard Feldman
72742f3e4c Restore some things to how they were before 2020-03-25 19:47:28 -04:00
Richard Feldman
f27f324c4c Make clone_list more robust in crane build 2020-03-25 19:47:28 -04:00
Richard Feldman
5d28ae5fa6 Let us never speak of this again. 2020-03-25 19:47:28 -04:00
Richard Feldman
bb26692983 Fix load_list_ptr 2020-03-25 19:47:28 -04:00
Richard Feldman
8b881d90d9 Enable cranelift on all test_gen tests 2020-03-25 19:47:28 -04:00
Richard Feldman
3672900aaa Update a comment 2020-03-25 19:47:28 -04:00
Richard Feldman
97ff5620ab Clean up some cranelift stuff 2020-03-25 19:47:28 -04:00
Richard Feldman
aa1cbab373 Fix phi node bug 2020-03-25 19:47:28 -04:00
Richard Feldman
2c27e459b0 Inline list_set comparison 2020-03-25 19:47:28 -04:00
Richard Feldman
c560b7a6c5 Share code on LLVM List.set 2020-03-25 19:47:28 -04:00
Richard Feldman
56f4d553e5 More progress on List.set in Cranelift 2020-03-25 19:47:28 -04:00
Richard Feldman
41b39c0629 Add more llvm verification 2020-03-25 19:46:11 -04:00
Richard Feldman
bf129a7299 Progress on List.set in Cranelift 2020-03-25 19:46:11 -04:00
Folkert
579d0d9eff fix booleans in crane 2020-03-24 15:59:11 +01:00
Richard Feldman
bed356f93e
Merge branch 'trunk' into cleanup-mono 2020-03-24 06:28:45 -04:00
Folkert
39fb78b2d5 remove Jump/Label from mono::Expr 2020-03-24 00:11:02 +01:00
Folkert
958f3f9ad4 change pattern destructuring stores
they are now tracked in the Cond/Switch variants, rather than merged into the branch constructors. Required for 'beans'
2020-03-23 23:35:45 +01:00
Folkert
2bb69f333f always Cond on a symbol
this will make 'beans' easier
2020-03-23 20:00:15 +01:00
Folkert
3dbdb64a93 fix merge conflict 2020-03-23 17:56:38 +01:00
Folkert
baeb8ad96a test unit type patterns 2020-03-23 17:55:02 +01:00
Folkert
b9613fcdc5 clean up tag pattern match conversion 2020-03-23 17:55:02 +01:00
Folkert
a7b5768c47 use a custom type to store Union variants 2020-03-23 17:55:02 +01:00
Folkert
46062439b5 remove label from Struct layout 2020-03-23 17:55:02 +01:00
Folkert
e2a7c970bc refactor Access into AccessAtIndex 2020-03-23 17:55:02 +01:00
Chad Stearns
6a6912cbb1 Merge branch 'trunk' of github.com:rtfeldman/roc into more-reports 2020-03-22 22:01:29 -04:00
Chad Stearns
57cf650ac7 All report text types rendered in color with tests 2020-03-22 21:56:22 -04:00
Chad Stearns
3ea27dab39 Cleaned up report tests 2020-03-22 21:24:08 -04:00
Chad Stearns
1478fbca3f Region with line numbers of different string length need to pad shorter line numbers 2020-03-22 21:22:59 -04:00
Richard Feldman
ee12e56d1c Fix set_shared_list_oob test 2020-03-22 11:34:36 -04:00
Folkert
c6fa301d8b fix bug in is_unique 2020-03-22 13:22:52 +01:00
Richard Feldman
db502fe2e7 Revise some tests 2020-03-21 22:51:11 -04:00
Richard Feldman
39249f3905 Add test for List.set bounds checking 2020-03-21 22:14:02 -04:00
Richard Feldman
52bfe3ce9e Add bounds checking to List.setInPlace 2020-03-21 22:12:51 -04:00
Richard Feldman
3e71b5a38d Extract bounds_check_comparison 2020-03-21 22:11:06 -04:00
Richard Feldman
ef38095003 Fix optimization test
The reason this was failing was that `x` was getting
dropped by dead code elimination, and therefore wasn't
considered a reason to share any values it used.
2020-03-21 21:19:18 -04:00
Richard Feldman
a0dd31ee51 Add bounds checking for List.set in LLVM 2020-03-21 21:19:18 -04:00
Richard Feldman
63a8daa4c7 Reproduce no bounds checking on List.set in LLVM 2020-03-21 21:19:18 -04:00
Richard Feldman
d9fe38efce Remove unnecessary lifetime annotations 2020-03-21 21:19:18 -04:00
Richard Feldman
d0a1adfef9 Fix set_shared_int_list for LLVM 2020-03-21 21:19:18 -04:00
Richard Feldman
8a26cac3f2 Add a test of just List.set by itself 2020-03-21 21:19:18 -04:00