Commit graph

155 commits

Author SHA1 Message Date
Folkert
63f89d73be attempt benchmark platform 2021-08-24 23:57:39 +02:00
Folkert
0a7f7a2772 emit LLVM IR that can be compiled to wasm 2021-08-24 20:56:13 +02:00
Folkert
459af15c8f WIP 2021-08-23 21:14:09 +02:00
Folkert
367d08814d don't have compiler generate setjmp/longjmp when building an executable 2021-08-17 22:42:03 +02:00
Folkert
a12e18ca70 add roc_panic to all hosts 2021-08-16 22:46:00 +02:00
Folkert
a0a0896622 a working prototype 2021-08-15 23:20:05 +02:00
Joshua Hoeflich
43c0fa9b35 Fix typo 2021-08-11 21:33:12 -05:00
Joshua Hoeflich
c3879cf5be Extract constant; cargo clippy 2021-08-11 21:30:14 -05:00
Joshua Hoeflich
bfce144e8a Make llc discoverable on $PATH on more systems 2021-08-11 20:50:55 -05:00
Folkert
899cbeabd7 fix extra ampersands 2021-07-29 17:32:08 +02:00
Folkert
5282dbf41a fix typo 2021-07-25 22:00:52 +02:00
Folkert
978cea4b8a passing tests 2021-06-28 22:28:47 +02:00
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