Commit graph

143 commits

Author SHA1 Message Date
Folkert
0eba188493 WIP 2021-06-24 20:12:37 +02:00
Folkert
5ed33da026 add instname flag to debugir 2021-06-23 14:05:23 +02:00
Folkert
0d5e91eb92 fix entry points 2021-06-13 22:13:37 +02:00
Richard Feldman
5dc0870f6a Use vanilla llvm-as 2021-06-07 22:05:00 -04:00
Folkert
8e227c7e7c update to llvm 12 2021-06-07 20:02:59 +02:00
Richard Feldman
57676057fa Rename gen to gen_llvm
This way, we have gen_dev and gen_llvm representing the two
different compiler backends.
2021-06-06 07:56:47 -04:00
Richard Feldman
b05342c678 Split out an optional "llvm" feature
Also move OptLevel out of roc_gen (which
should really be called gen_llvm) and into roc_mono,
so it's no longer coupled to LLVM.
2021-06-06 00:32:58 -04:00
Folkert
ab8abb8f11 centralize llvm logic 2021-06-02 21:28:51 +02:00
Richard Feldman
3a35fe55cf Combine two conditionals, rename some stuff 2021-05-27 22:16:07 -04:00
Folkert
9b02165f00 remove unused function 2021-05-22 19:08:25 +02:00
Folkert
558fb3e1bf clippy + top level thunks 2021-05-15 23:19:08 +02:00
Folkert
48386f2fc6 get Scratchpad to build 2021-05-14 17:01:57 +02:00
Folkert
2163e01288 lowlevel List.map works 2021-05-13 19:15:17 +02:00
Folkert
e63eea7389 WIP 2021-05-13 00:26:41 +02:00
Folkert
fecb83b9c2 fixes 2021-05-07 11:00:15 +02:00
Richard Feldman
978b3a901d Have --debug use .roc path for .ll and .bc 2021-03-14 22:31:32 -04:00
Folkert
91c1b6c382 write LLVM IR to file when validation fails 2021-03-09 20:14:26 +01:00
Folkert
b4dd1cd751 off by 1 2021-03-03 22:37:08 +01:00
Folkert
24fcafa1c4 re-use header parser state when parsing the rest of the file 2021-03-02 22:51:51 +01:00
Folkert
27130c3172 report errors in the header with correct source 2021-03-02 16:42:26 +01:00
Folkert
3be7df1cac fix tests 2021-02-17 22:56:37 +01:00
Folkert
5826da028c add Set.contains 2021-02-16 00:12:57 +01:00
Folkert
83f875ddca use helpers in can builtin construction 2021-02-15 22:50:02 +01:00
Folkert
82ff8a8edf clippy 2021-02-15 21:35:52 +01:00
Folkert
13b2c23c01 working AStar 2021-02-15 21:34:55 +01:00
Folkert
7f8ca150f5 always inline RocDict functions 2021-02-14 15:11:47 +01:00
Folkert
cba729a933 use inline always strategically 2021-02-13 01:10:37 +01:00
Folkert
afe2f51660 basic versions of contains and remove 2021-02-12 23:47:02 +01:00
Folkert
31fc62b7f0 cleanup 2021-02-06 21:46:22 +01:00
Chadtech
cddd64f1c9 Get rid of old Dict implementation, use Zig wyhash, and WIP for testing Roc use of zig wyhash 2021-01-12 00:59:40 -05:00
Folkert
5e29ee1576 give a bit more debug info when a function fails to codegen 2020-12-14 01:59:07 +01:00
Folkert
4fdf8e5fab report on LLVM codegen time 2020-12-06 02:30:34 +01:00
Folkert
5569e328f6 add --debug mode that annotates LLVM IR with debug info 2020-11-26 21:31:52 +01:00
Folkert
2dbf430892 Merge remote-tracking branch 'origin/trunk' into llvm-debug-info 2020-11-26 20:53:13 +01:00
Folkert
b6433f872a DCE unused functions everywhere 2020-11-23 02:15:40 +01:00
Folkert
58246ad572 DCE zig-defined builtins that aren't used in user code 2020-11-23 02:01:57 +01:00
Folkert
82b7208533 add debugir tool to build program 2020-11-19 21:18:13 +01:00
Folkert
5ce8a665f0 add finalize everywhere, and fix some oversights 2020-11-18 20:08:43 +01:00
Folkert
7fcc05b0a4 add dibuilder 2020-11-17 20:26:07 +01:00
Brendan Hansknecht
2204ee82d5 Extract LayoutIds from roc_gen to roc_mono::layout 2020-11-14 17:48:04 -08:00
Folkert
af0600dc25 report errors per-module 2020-11-03 16:59:37 +01:00
Richard Feldman
5bf5807abd Only situationally do aggressive optimization 2020-10-25 01:42:10 -04:00
Richard Feldman
b4377d4d67 Get a basic dylib linking started 2020-10-25 01:41:55 -04:00
Folkert
cb9ce5e8d7 use modules in the repl 2020-10-14 17:48:56 +02:00
Folkert
8338296da2 add top-level thunks to the scope everywhere 2020-10-14 15:03:41 +02:00
Folkert
40f0588696 back to a working state 2020-10-11 21:55:26 +02:00
Folkert
4f9b27b694 sketch of a proof of concept 2020-10-11 01:54:50 +02:00
Folkert
79d3b0ac01 cross module specialization WIP 2020-10-11 01:23:52 +02:00
Folkert
8eec622d23 move over code that tries to do the full specialization process in parallel 2020-10-10 20:40:55 +02:00
Folkert
c7b251d6b4 Merge remote-tracking branch 'origin/trunk' into gen-modules 2020-10-08 01:29:32 +02:00