Brendan Hansknecht
87537b800e
merge llvm ir optimization locations
2024-12-11 17:33:20 -08:00
Luke Boswell
2feb5d3c2e
Merge remote-tracking branch 'remote/main' into upgrade-llvm-zig
2024-11-29 08:58:47 +11:00
JRI98
a18232bd8b
Cleanup after #7227
2024-11-18 11:04:07 +00:00
Luke Boswell
8090e99e75
cleanup llvm module optimisation passes
2024-08-04 12:13:01 +10:00
Brendan Hansknecht
6dc5bfb1b7
Use roc_target over target_lexicon
...
Tailors a target class for our needs.
Replaces tons of uses across the entire compiler.
This is a base for later adding new targets like thumb.
2024-03-31 10:50:26 -07:00
Anton-4
76c47c5d6f
stylistic improvements
2024-03-09 20:47:19 +01:00
Jonathan Schear
504e00d44d
Group toplevel expects by module, run them separately
2024-03-08 14:56:32 -05:00
Folkert
41ad915c35
make an inline expect triggered by a top-level expect work
2024-02-01 13:08:01 +01:00
Brendan Hansknecht
496cd6710a
fix debug info and add it all to the llvm backend
2023-12-04 12:55:33 -08:00
Brendan Hansknecht
e6cc43492a
rip out old dbg and setup reasonable base debug location info
2023-11-29 21:05:49 -08:00
Folkert
ef39bad7c6
auto clippy fixes
2023-07-10 18:27:08 +02:00
eiei114
bf3f541331
Merge branch 'main' into fix/replace_panic_with_internal_error
2023-06-27 12:48:34 +09:00
eiei114
486558396f
replace panic
2023-06-25 18:13:44 +09:00
eiei114
c1d4a18c00
Revert "replace"
...
This reverts commit f43e346897
.
2023-06-25 17:50:05 +09:00
eiei114
f43e346897
replace
2023-06-25 17:14:02 +09:00
Ayaz Hafiz
41597cbab7
Do not make LayoutInterner mutable
2023-06-17 18:13:03 -05:00
Ayaz Hafiz
b60d5c0251
Push wrapped layout interners through
2023-01-03 10:51:33 -06:00
Ayaz Hafiz
759f8d86af
Fix lifetime errors due to interner
...
In the llvm backend, there are the lifetimes `'a` (lifetime of the
global arena) and `'ctx` (lifetime of constructed LLVM values). `'a`
lives longer than `'ctx`, but the compiler didn't enforce this until
the layout interner was introduced, for some reason. We have to make
sure that containers of lifetime `'a` have no `'ctx` references.
2022-12-29 11:38:34 -06:00
Ayaz Hafiz
2dc19207a3
Throw away usage of stored variables on receiver side
2022-12-14 17:00:37 -06:00
Ayaz Hafiz
fe90355265
Store specialized variables of expect lookups in expect frames
2022-12-14 17:00:36 -06:00
Folkert
a72556b927
refactor entry point
2022-12-09 15:10:25 +01:00
Folkert
3bae4145d9
do expect/dbg with atomics
2022-12-08 00:41:20 +01:00
Richard Feldman
58fad36f9d
Merge pull request #4460 from roc-lang/crash
...
Crash
2022-11-25 17:18:21 -05:00
Folkert
07b7a93b9f
fix not being able to dbg variable
2022-11-25 17:55:01 +01:00
Ayaz Hafiz
803d7e30e3
Eliminate Stmt::RuntimeError in favor of crash
2022-11-24 14:46:53 -06:00
Ayaz Hafiz
291615072b
Fix usages of panic
2022-11-24 14:46:53 -06:00
Folkert
1875176319
improve formatting
2022-11-23 23:16:37 +01:00
Folkert
e44a8a9eed
print all the relevant info
2022-11-23 22:58:58 +01:00
Anton-4
48bf8681bc
clippy fix
2022-11-08 13:42:07 +01:00
Anton-4
bb3eed6ae7
fix "failed to truncate shared file"
...
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2022-11-08 13:12:03 +01:00
Folkert
92cc120c7f
Merge remote-tracking branch 'origin/main' into roc-dev-inline-expects
2022-11-05 12:21:37 +01:00
Richard Feldman
c03dc17ab4
Merge remote-tracking branch 'origin/main' into repl
2022-11-05 01:04:44 -04:00
Folkert
66a1ba00eb
1.65 clippy fixes
2022-11-03 16:20:37 +01:00
Richard Feldman
b7d3c77b76
Have the repl eval anyway if there are errors
2022-10-27 18:47:32 -04:00
Folkert
b4878e5550
Merge remote-tracking branch 'origin/main' into roc-dev-inline-expects
2022-10-24 18:39:30 +02:00
Ayaz Hafiz
5164994fb5
Do not attempt to lookup functions in expect
s
...
Functions are not useful to print in expect results, because they are
only printed opaquely as `<function>`. Moreover, their transformation to
closure sets during mono can be extremely lossy, up to and including the
elision of symbols for function closure symbols. As such, simply do not
attempt to lookup or print functions referenced in expects.
Closes #4389
2022-10-24 10:28:56 -05:00
Ayaz Hafiz
2a21cd8c6e
Resolve ability specializations looked up in expects
2022-10-18 01:04:21 +02:00
Ayaz Hafiz
d26e9c81e0
Resolve ability specializations looked up in expects
2022-10-17 17:56:48 -05:00
Folkert
84178c66e1
move around some libc code
2022-10-18 00:20:01 +02:00
Ayaz Hafiz
c5cdab1ff9
Only ftruncate shm_open'd file once, and add some error messages
2022-10-17 09:45:34 -05:00
Folkert
b09c631895
cleanup
2022-10-05 23:59:29 +02:00
Folkert
8c4a2f58fc
working expects in roc dev
2022-10-05 22:17:40 +02:00
Folkert
67494e9df2
thread layout interner to repl_expect
2022-10-05 22:17:40 +02:00
Folkert
a5cb759a82
rename
2022-10-05 22:17:40 +02:00
Folkert
bdec61d5bb
fix bug in expect serialization of lambda sets
2022-09-16 22:19:55 +02:00
Ayaz Hafiz
ed04c2040a
Push the layout interner through the backends
2022-08-31 14:33:52 -05:00
Ayaz Hafiz
c5466810a4
Add LayoutInterner to LayoutCache
...
Adds a thread-local interner of layouts to LayoutCache, and updates all
references appropriately.
This is a bit suboptimal for single-threaded workloads that will look at
creating layout caches again, like the REPL, but I think that's okay for
now - since the global interner will be uncontested for those workloads, it
should still be plenty fast to access the interner, even behind a lock.
2022-08-31 14:33:51 -05:00
Folkert
f8fba56b0a
improve how we deal with the expect memory buffer
2022-08-13 00:01:05 +02:00
Folkert
3aa4ebb02f
get expect-fx to actually run
2022-08-12 23:03:01 +02:00
Folkert
6c77ee2c00
expect-fx runner implementation
2022-08-12 15:08:29 +02:00