Commit graph

185 commits

Author SHA1 Message Date
Folkert
9bf8d65170
upgrade most build_load usages 2022-12-20 00:11:45 +01:00
Folkert
f2d0953e0a
upgrade build_in_bounds_gep 2022-12-19 20:21:27 +01:00
Folkert
bc9c813fec
already do some of the llvm struct_gep conversion work 2022-12-19 19:57:31 +01:00
Folkert
0f46ea83d0
standardize WhenRecursive 2022-12-19 19:05:25 +01:00
Folkert
3720c38e2b
convert to pointer_cast where we can 2022-12-17 23:21:19 +01:00
Folkert de Vries
f550f049db
Merge pull request #4768 from roc-lang/expects-store-specialized-variable
Support using dbg/expect in polymorphic functions
2022-12-16 00:10:40 +01:00
Ayaz Hafiz
fe90355265
Store specialized variables of expect lookups in expect frames 2022-12-14 17:00:36 -06:00
Ayaz Hafiz
16209ef866
Store specialized lookup variables in expects 2022-12-14 16:59:05 -06:00
Folkert
d287eafa3a
remove F128 2022-12-14 23:28:38 +01:00
Ayaz Hafiz
1962f2045e
Remove layouts from the mono AST for expects
This actually isn't needed, because the backends must lookup the layout
from the environment anyway. So it's enough to lookup the symbol and
find its layout, there is no need to additionally store it.
2022-12-14 14:10:02 -06:00
Folkert
a72556b927
refactor entry point 2022-12-09 15:10:25 +01:00
Folkert
95fe9cbccd
pass the pointer to shared memory around, instead of using a global 2022-12-08 23:22:26 +01:00
Ayaz Hafiz
3685ad2ed2
Ensure that llvm gen_ wrappers account different recursive pointers
Closes #2551
2022-12-02 13:38:32 -06:00
Ayaz Hafiz
803d7e30e3
Eliminate Stmt::RuntimeError in favor of crash 2022-11-24 14:46:53 -06:00
Ayaz Hafiz
f3a03ef6eb
Pass roc_panic msg by ref on 32 bit plats 2022-11-24 14:46:53 -06:00
Ayaz Hafiz
12d013c062
Remove unneeded param 2022-11-24 14:46:53 -06:00
Ayaz Hafiz
4202352b19
Update panic tags of builtins 2022-11-24 14:46:52 -06:00
Ayaz Hafiz
a8122662c2
Return panic tag from roc_panic to test platform 2022-11-24 14:46:52 -06:00
Ayaz Hafiz
c8accc90e8
Implement user crash in llvm backend 2022-11-24 14:46:52 -06:00
Ayaz Hafiz
c7ef1668d4
Implement mono of crash 2022-11-24 14:46:51 -06:00
Ayaz Hafiz
72ff0cc800
rename default panic tag to roc panic tag 2022-11-24 14:46:51 -06:00
Ayaz Hafiz
6d851ec5e2
men i trust, lints i dont need 2022-11-24 14:46:51 -06:00
Ayaz Hafiz
4709f9a0de
roc_panic is passed a RocStr 2022-11-24 14:46:50 -06:00
Ayaz Hafiz
a9f8c2ddec
Factor out build_string_literal 2022-11-24 14:46:50 -06:00
Folkert
5cb47939e2
don't try to run dbg with roc run 2022-11-24 11:19:41 +01:00
Folkert
5aa29c4e8b
morphic + reset/reuse 2022-11-15 22:06:09 +01:00
Ayaz Hafiz
3723071c15
Collect deeply nested type names in alias analysis
Previously we only collected type names that appeared on the surface of
a type during alias analysis, but certain types that need to be named
(i.e. recursive types) may be observed only when we actually convert the IR
to the morphic IR. Make sure we collect those appropriately.

This is a cherry pick of the relevant changes in #4121.
2022-11-15 09:23:28 -06:00
Folkert
031866799a
use inkwell's FunctionIterator 2022-11-13 14:51:24 +01:00
Folkert
653741ccde
refactor llvm lowlevel code into its own file 2022-11-09 17:40:40 +01:00
Folkert
06a49e0255
use some macros 2022-11-09 17:40:39 +01:00
Folkert
94cc2971a3
don't use a global on the zig side (surgical linking can't do those yet) 2022-11-05 14:08:19 +01:00
Folkert
92cc120c7f
Merge remote-tracking branch 'origin/main' into roc-dev-inline-expects 2022-11-05 12:21:37 +01:00
Folkert
134de80150
various updates 2022-11-03 17:18:27 +01:00
Folkert
66a1ba00eb
1.65 clippy fixes 2022-11-03 16:20:37 +01:00
Folkert
b4878e5550
Merge remote-tracking branch 'origin/main' into roc-dev-inline-expects 2022-10-24 18:39:30 +02:00
Prajwal S N
df7e4eea7e
builtin(str): implement Str.graphemes
Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2022-10-22 19:29:49 -07:00
Folkert
323210c547
Merge remote-tracking branch 'origin/main' into roc-dev-inline-expects 2022-10-16 13:56:30 +02:00
Folkert
e63dba8e2f
minimal wasi benchmarks 2022-10-14 21:59:34 +02:00
Folkert
e62ab00c65
Merge remote-tracking branch 'origin/main' into roc-dev-inline-expects 2022-10-09 18:46:57 +02:00
Prajwal S N
9013e4ce11
builtin(str): implement withCapacity
Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2022-10-08 00:24:46 +05:30
Ayaz
a5a984ca45
Merge pull request #4217 from roc-lang/hashing-perf
Misc hashing perf
2022-10-05 20:00:46 -05:00
Folkert
8c4a2f58fc
working expects in roc dev 2022-10-05 22:17:40 +02:00
Ayaz
4f1d7fca9a
Merge pull request #4218 from roc-lang/rollup-10-05
Misc bugfixes 10-05
2022-10-05 14:52:11 -05:00
Brendan Hansknecht
ca92b5e8e8
Increase the inline threshold 2022-10-05 08:11:10 -07:00
Ayaz Hafiz
657346a057
Support Num.abs for non-64 bit integer types
Closes #4210
2022-10-05 08:39:45 -05:00
Ayaz Hafiz
dea7661068
Have Num.shift*By functions shift by a U8
302305020
2022-10-04 12:28:33 -05:00
Ayaz Hafiz
8cd4281173
Complex bitcast recursive tag union pointers when we need them to be opaque
Resolves a discussion on Zulip: https://roc.zulipchat.com/#narrow/stream/231635-compiler-development/topic/When.20recursive.20structs.20aren't.20recursive
2022-09-14 20:58:54 -05:00
Folkert
d725e44538
handle case where C returns by-value, but roc wants to return by-pointer 2022-09-11 16:56:03 -04:00
Jan Van Bruggen
4625a0a869
Rephrase CPU-related "platform"/"host" to "target"/"your machine" 2022-09-11 10:25:02 -06:00
Folkert
2762457e10
allow passing of RocStr by-value from a host 2022-09-07 12:14:13 +02:00