Commit graph

124 commits

Author SHA1 Message Date
Chad Stearns
9376b4b988 empty_list helper 2020-06-21 14:03:04 -04:00
Chad Stearns
10aa44e12b More comments 2020-06-21 14:02:52 -04:00
Chad Stearns
ca411b11a3 Switched all i32 to i64 in gen builtins 2020-06-21 13:23:59 -04:00
Chad Stearns
e4eeff5bd0 List repeat works for all test cases except one with a negative number repeats param, and avoids malloc in the case that the number of repeats is not more than 0 2020-06-21 00:55:53 -04:00
Chad Stearns
6485b039c7 List repeats code gen works.. so long as its 5 2020-06-20 15:49:58 -04:00
Chad Stearns
3af6d5f0b3 WIP 2020-06-19 21:02:52 -04:00
Chad Stearns
97cb4a737e List.single implementation 2020-06-03 18:56:23 -04:00
Chad Stearns
5c1c9efb89 Added trigonometric functions to code gen and builtins 2020-05-25 16:28:41 -04:00
Richard Feldman
7f05678bf8
Merge branch 'trunk' into int-rem 2020-05-13 22:53:31 -04:00
Chad Stearns
7df4771f7b Int.rem 2020-05-13 04:27:08 -04:00
Richard Feldman
33a5f36d7c Refactor out name arg from from_can 2020-05-10 15:13:18 -04:00
Richard Feldman
85ec1e0f72 Fix anonymous function code gen 2020-05-10 15:13:18 -04:00
Richard Feldman
bf11262e61 Move layout_id from mono to gen
This is because it's actually important that mono never use this.
It should only be used in gen, because it's only safe to use
synchronously, and it's important that mono be done in parallel.

Moving it to gen guarantees that mono will not use it, even accidentally!
2020-05-10 15:13:18 -04:00
Richard Feldman
6e05ba816f Have CallByName use Layout 2020-05-10 15:13:18 -04:00
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