Brendan Hansknecht
5b8b781bad
remove single entrypoint
2024-10-07 21:16:30 -07:00
Ayaz
cef2c8ae87
Update build.rs
...
Signed-off-by: Ayaz <20735482+ayazhafiz@users.noreply.github.com>
2024-09-21 09:50:17 -04:00
Ayaz
9c656dd28e
Merge branch 'main' into ayaz/optimize-list-literal-alloc
2024-09-21 09:44:50 -04:00
Luke Boswell
49dedf0b7b
Merge branch 'main' into ayaz/optimize-list-literal-alloc
2024-09-17 19:44:02 +10:00
Brendan Hansknecht
4e3ec97d7a
generate array of alignment type to enforce tag data alignment
2024-09-16 17:10:49 -07:00
Brendan Hansknecht
a7eae239f0
Avoid explicit tag padding
...
Explicit padding changes the c-abi when passed to/returned from functions.
This is leading to incorrect loading of types like `Task U64 {}`.
2024-09-16 16:47:20 -07:00
Brendan Hansknecht
7997cf95e7
ensure alignment is never 0. Must be at least 1.
2024-08-25 11:48:46 -07:00
Brendan Hansknecht
cf5cd84d60
fix alignment of 16 bytes
2024-08-21 09:04:07 -07:00
Brendan Hansknecht
6b04318e27
handle float types
2024-08-09 19:27:47 -07:00
Brendan Hansknecht
462872551e
fix up list literal constant loading
2024-08-09 19:07:01 -07: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
Brendan Hansknecht
82764dc697
switch to passing the copy function into zig (implement llvm)
2024-07-21 19:04:57 -07:00
Brendan Hansknecht
bccab34833
correct comment
2024-07-20 21:30:25 -07:00
Brendan Hansknecht
e804501a92
clippy
2024-07-20 21:21:43 -07:00
Brendan Hansknecht
703224b275
fix alloca args overwriting eachother
2024-07-20 21:14:31 -07:00
Brendan Hansknecht
c5a74bdc12
for referenced values, use allocas instead of phi nodes
2024-07-20 19:52:11 -07:00
Brendan Hansknecht
ee7f1e39c7
move all allocas to the entry block
2024-07-20 19:17:11 -07:00
Brendan Hansknecht
c734a27b59
move List.map* into roc
2024-07-13 10:39:56 -07:00
Brendan Hansknecht
94cb4fb8ff
remove inc functions from list.map*, the closure will inc in necessary
2024-07-13 10:39:56 -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
48eb9c31a9
update list generated refcounting functions for dev and wasm
2024-07-13 10:39:53 -07:00
Brendan Hansknecht
0d0a4a8806
Update refcounting of list builtins to the new system.
2024-07-13 10:39:53 -07:00
Brendan Hansknecht
f87c32ca7d
clippy
2024-07-13 10:39:52 -07:00
Brendan Hansknecht
9b6798ead1
Correct refcounting check to be recursive through aggregate types
2024-07-13 10:39:52 -07:00
Brendan Hansknecht
951cb1ef3d
Correct list replace bitcode arg order
2024-07-13 10:39:52 -07:00
Brendan Hansknecht
3c842196fa
Update LLVM to properly increment and decrement lists
2024-07-13 10:39:51 -07:00
shua
a2c800452e
add branch on ptr width back
...
apple arm tests are failing, maybe this will fix it?
2024-06-10 23:16:33 +02:00
shua
f7bec802c0
PR: rename to List.concatUtf8
2024-06-08 13:36:20 +02:00
shua
33e8a7a439
implement Str.concatUtf8
2024-06-07 19:05:52 +02:00
Brendan Hansknecht
dc539f759d
Improve OptSize
implementation in Roc
...
1. Use the llvm `Oz` pipeline.
2. Avoid adding extra optimization passes.
This shrunk rocci-bird by ~16%.
2024-05-01 08:25:34 -07:00
Anton-4
3d2a5897e5
roc_bitcode false positive
2024-04-09 20:01:33 +02:00
Anton-4
f085b96f78
removed unused deps, added CI test
2024-04-09 19:47:31 +02:00
Fabian Schmalzried
4066d56b24
fix clippy errors
2024-04-02 00:04:59 +02:00
Fabian Schmalzried
313a3d37e6
move finctions
2024-04-01 21:08:17 +02:00
Fabian Schmalzried
376202c6e8
fix from parts
2024-04-01 21:08:16 +02:00
Fabian Schmalzried
9a91597b27
Windows to parts
2024-04-01 21:08:16 +02:00
Fabian Schmalzried
a1bd36812d
fix for llvm-wasm
2024-04-01 21:08:15 +02:00
Anton-4
ae2506469c
added comment
...
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2024-04-01 21:08:15 +02:00
Fabian Schmalzried
609a8091c4
remve unused import
2024-04-01 21:08:14 +02:00
Fabian Schmalzried
834015a758
From parts works with llvm
2024-04-01 21:08:13 +02:00
Fabian Schmalzried
e697064ae3
XtoParts works in llvm
...
TODO: celanup
2024-04-01 21:08:13 +02:00
Anton-4
35a26eb39f
fix typos, WIP on NumF32ToParts
2024-04-01 21:08:12 +02:00
Fabian Schmalzried
4269608ebf
remove i128OfDec
2024-04-01 21:08:12 +02:00
Fabian Schmalzried
11998b9cc8
f32FromParts and f64FromParts for repl
2024-04-01 21:08:10 +02:00
Fabian Schmalzried
473b8ef2d3
f32/f64toParts in repl only
2024-04-01 21:08:09 +02:00
Fabian Schmalzried
64e9899cad
Add Num.withDecimalPoint
2024-04-01 21:08:09 +02:00
Fabian Schmalzried
9c664172dd
Add Num.withoutDecimalPoint
2024-04-01 21:08:09 +02: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