Commit graph

443 commits

Author SHA1 Message Date
Chad Stearns
aa72619952 Implemenet code gen for int div 2020-04-26 14:38:09 -04:00
Richard Feldman
aac5077c8b Remove DEFAULT_CALLING_CONVENTION 2020-04-23 17:41:05 -04:00
Richard Feldman
5b7a16afad Add intrinsics for sqrt and round 2020-04-23 17:41:05 -04:00
Richard Feldman
ea713023e8 Add explicit OptLevel to add_passes 2020-04-16 20:26:08 -04:00
Richard Feldman
2a03a74135 Use the equivalent of -O3 in Inkwell 2020-04-16 19:26:25 -04:00
Richard Feldman
5980bc38da Merge remote-tracking branch 'origin/trunk' into order-of-ops 2020-04-15 05:03:42 -04:00
Richard Feldman
9288e20469 Upgrade to LLVM 10 2020-04-08 06:41:53 -04:00
Richard Feldman
01f3ae893f Use include_bytes! to import llvm bitcode 2020-04-01 23:24:00 -04:00
Richard Feldman
63b38ae174 clippy the original clipper 2020-04-01 00:03:27 -04:00
Richard Feldman
67e68d57b4 cargo fmt 2020-03-31 23:56:31 -04:00
Richard Feldman
cda6a21fa4 Implement Num.toFloat 2020-03-31 23:51:17 -04:00
Richard Feldman
37492f4aa6 Load builtins on startup 2020-03-31 23:50:55 -04:00
Richard Feldman
5f817d8019 Add a basic CLI 2020-03-30 21:27:37 -04:00
Richard Feldman
0a0a736153 Move pass managers into llvm::build 2020-03-30 21:27:02 -04:00
Richard Feldman
ebb4963da7 Extract bounds check 2020-03-27 00:18:12 -04:00
Richard Feldman
ceb9cdd452 Revert "Attempt to bitcast structs"
This reverts commit a5b50730c33437f459da8705ee186f8f354c2454.
2020-03-27 00:18:12 -04:00
Richard Feldman
ab79e20956 Attempt to bitcast structs 2020-03-27 00:18:12 -04:00
Richard Feldman
e27359a812 Revert "Switch from i1 to i8 for bools"
This reverts commit 360d55483daa7eba53d66c7f14f9aec9db841986.
2020-03-27 00:18:12 -04:00
Richard Feldman
0217913dc7 Switch from i1 to i8 for bools 2020-03-27 00:18:12 -04:00
Richard Feldman
76fd347801 Explicitly set calling convention 2020-03-27 00:18:12 -04:00
Folkert
ad23fc7e4b Merge remote-tracking branch 'origin/trunk' into tail-calls 2020-03-26 14:57:28 +01:00
Folkert
1108e56750 add Bool.not 2020-03-26 14:48:11 +01:00
Richard Feldman
a561f343b2 Remove Cranelift for now. 2020-03-25 20:19:58 -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
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
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
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
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
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
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
Richard Feldman
db502fe2e7 Revise some tests 2020-03-21 22:51:11 -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
a0dd31ee51 Add bounds checking for 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
cc8683d241 Fix use of GEP (was using byte offset, not index) 2020-03-21 21:19:18 -04:00
Richard Feldman
e6704d1fcb Streamline empty list LLVM code gen 2020-03-21 21:19:18 -04:00