Agus Zubiaga
e80e3e5b2d
Convert top-level value def to fn taking params
2024-08-17 11:21:21 -03:00
Ayaz Hafiz
9abbcfaafc
Optimize literal list construction in LLVM backend
...
Currently, list literals are always heap-allocated and their elements
are stored by emitting a GEP and store for each item in the literal.
This produces huge quantities of IR, causing compile times for e.g.
programs with large literals or ingested files to blow up.
Instead, if a list literal consists entirely of literal values, create a
global section for the literal and return a pointer to it.
2024-08-09 18:51:17 -07:00
Agus Zubiaga
762799052e
Merge branch 'main' into typecheck-module-params
2024-08-07 18:55:33 -03:00
Anton-4
60ca8382a5
improve abilities error
2024-08-03 11:57:23 +02:00
Brendan Hansknecht
b8fb83af86
get wasm dev backend working
2024-07-21 19:53:36 -07:00
Brendan Hansknecht
2779145ec5
clarify list drop specialization state
2024-07-16 13:14:39 -07:00
Brendan Hansknecht
ae0f445d86
A clarity around disabling list drop specialization
2024-07-15 17:12:22 -07:00
Brendan Hansknecht
50ba3071e1
disable list drop specialization
2024-07-15 17:04:32 -07:00
Brendan Hansknecht
507d339691
fix infinite recursion in dev rc generation
2024-07-15 09:04:50 -07:00
Brendan Hansknecht
afda757433
avoid extra joinpoint and loop for list refcounting
2024-07-13 10:39:57 -07:00
Brendan Hansknecht
c734a27b59
move List.map* into roc
2024-07-13 10:39:56 -07:00
Brendan Hansknecht
6712824891
correct arg mapping for inline refcounting calls
2024-07-13 10:39:56 -07:00
Brendan Hansknecht
f92d1934d4
add missing symbol in call
2024-07-13 10:39:55 -07:00
Brendan Hansknecht
ba9b15f7d6
generate elem refcount function and pass it into decref lowlevel
2024-07-13 10:39:55 -07:00
Brendan Hansknecht
516afaff41
minor arg correction
2024-07-13 10:39:55 -07:00
Brendan Hansknecht
927eff0bf4
generate indirect refcount calls in wasm backend
2024-07-13 10:39:55 -07:00
Brendan Hansknecht
0ad638b17d
minor cleanup
2024-07-13 10:39:54 -07:00
Brendan Hansknecht
d0b564360b
correct low level calling for list incref/decref
2024-07-13 10:39:54 -07:00
Brendan Hansknecht
23154c41aa
Revert "start correct list refcount function generation"
...
This reverts commit a8b4d0ef7f492215ce2228a34c6046c4790cc6db.
2024-07-13 10:39:54 -07:00
Brendan Hansknecht
e92cf1be42
Revert "attempt to correct list refcount generation in dev backends"
...
This reverts commit 0854a1a53a2db441c648140bdd24de91125ec645.
2024-07-13 10:39:54 -07:00
Brendan Hansknecht
36bc8bfac4
attempt to correct list refcount generation in dev backends
2024-07-13 10:39:54 -07:00
Brendan Hansknecht
94fe0820d5
start correct list refcount function generation
2024-07-13 10:39:54 -07:00
Brendan Hansknecht
61784629e7
update todos around list refcount func generation
2024-07-13 10:39:54 -07:00
Brendan Hansknecht
9e70308952
cleanup misc minor issues
2024-07-13 10:39:53 -07:00
Brendan Hansknecht
48eb9c31a9
update list generated refcounting functions for dev and wasm
2024-07-13 10:39:53 -07:00
Brendan Hansknecht
d5e91ed61e
Update dev and wasm backend to use new list bitcode args
2024-07-13 10:39:52 -07:00
Anton-4
b702cb634f
better mono repl error
2024-07-12 17:02:34 +02:00
Anton-4
15a7ed2e95
added error tip
2024-07-09 19:46:33 +02:00
Ayaz
eca229e3d1
Merge pull request #6887 from roc-lang/in-layout-unit
2024-07-07 17:22:56 -05:00
Folkert
80a83f3935
when inserting into an interner, re-use Layout::UNIT when possible
...
it is prettier in debug output, and should also be more efficient
2024-07-07 23:11:36 +02:00
Agus Zubiaga
0cbb352a89
Move unexpected params warning to solve
2024-07-06 21:36:26 -03:00
Folkert
2ec7f56643
add TODO comment
2024-07-06 16:21:03 +02:00
Folkert
ee3ac41a58
add assert to prevent UB?!
2024-07-06 16:14:34 +02:00
Folkert
26e6f1ca92
clippy
2024-07-06 16:14:34 +02:00
Folkert
90b70c3df0
slightly optimize modified tracking
2024-07-06 16:14:33 +02:00
Folkert
f4bd41352b
use BorrowSignature::from_layouts
2024-07-06 16:14:33 +02:00
Folkert
14b02c5827
remove clone
2024-07-06 16:14:32 +02:00
Folkert
047779d981
WIP infer join points too
2024-07-06 16:14:29 +02:00
Folkert
4a121a2348
nothing we can do for by-pointer calls
2024-07-06 16:08:59 +02:00
Folkert
f361d79249
make a real fixed point
2024-07-06 16:08:59 +02:00
Folkert
3cbec41d59
hook borrow inference up
2024-07-06 16:05:52 +02:00
Folkert
199558b661
basic transitive inference
2024-07-06 16:05:52 +02:00
Anton-4
1bcf30391b
Merge pull request #6819 from roc-lang/rust-1-77-2-upgrade
...
Rust 1.77.2 upgrade
2024-07-06 03:23:54 +02:00
Agus Zubiaga
400c156d81
Replace params mono todo with unimplemented
2024-07-02 11:10:00 -03:00
Agus Zubiaga
922b1c44ef
Report missing params
2024-07-02 11:10:00 -03:00
Agus Zubiaga
5ec4b042bb
Constrain and solve import params
...
No reporting yet
2024-07-02 04:10:46 -03:00
Agus Zubiaga
674adf1fad
Wrap import params expr so we can constrain later
2024-07-02 04:10:46 -03:00
Agus Zubiaga
1526fc4aee
can::Expr::ParamsVar for lookups with params
2024-07-02 04:10:44 -03:00
JRI98
f4551978ce
Handle multi pattern unbound list rest variables
2024-06-21 17:01:49 +01:00
Anton-4
05a61e2210
clippy + fmt
2024-06-19 12:34:10 +02:00