Commit graph

360 commits

Author SHA1 Message Date
Richard Feldman
4bfdea03a9 Drop dead code 2020-05-10 09:58:42 -04:00
Richard Feldman
8572879e0d Remove unused procs argument 2020-05-09 22:41:59 -04:00
Richard Feldman
c49abfe2de Add layout to CallByName 2020-05-09 22:41:59 -04:00
Chad Stearns
d2cea5237b Remove commented out INT_ABS implementation 2020-05-09 18:01:36 -04:00
Chad Stearns
1d1f620090 Int Abs 2020-05-09 17:56:10 -04:00
Chad Stearns
7331e55a25 Cargo fmt 2020-05-08 04:07:07 -04:00
Chad Stearns
8e8412bf94 FLOAT_ABS test, and NUM_ABS generally, but not implemented 2020-05-08 00:49:08 -04:00
Chad Stearns
d1b00633be INT NEQ for i1 and i8 integer types 2020-05-01 17:29:43 -04:00
Chad Stearns
71258e0e59 Implemented INT_NE_i64 2020-05-01 16:31:19 -04:00
Richard Feldman
c39b43a265 Code gen numeric comparisons 2020-04-28 18:33:51 -04:00
Richard Feldman
dfb1c2d8a3 Always store collections as (usize, usize) 2020-04-27 20:05:35 -04:00
Richard Feldman
32d6615108 Attempt to store i8 arrays for collection wrappers
This ultimately didn't work because the bitcasting we wanted wasn't allowed.
2020-04-27 20:04:38 -04:00
Chad Stearns
0cfed05008 Implemented div unsafe 2020-04-26 18:11:46 -04:00
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
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
1108e56750 add Bool.not 2020-03-26 14:48:11 +01:00
Richard Feldman
3672900aaa Update a comment 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
bf129a7299 Progress on List.set in Cranelift 2020-03-25 19:46:11 -04: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
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
Richard Feldman
d2e7e373e6 Remove unused lifetimes 2020-03-21 21:19:18 -04:00