Brendan Hansknecht
d76394ac31
Fix the nonnull attribute
...
The current version will fail if run through the `opt` tool.
nonnull should have no data attached.
2024-01-27 08:36:06 -08:00
Luke Boswell
6bdcc4743a
Merge pull request #6363 from roc-lang/windows-llvm-setjmp-longjmp
...
fix for bugged setjmp/longjmp on windows/llvm
2024-01-09 22:00:15 +11:00
Brendan Hansknecht
3559326996
Set debug info version
...
We just missed setting it. Set it as specified in the docs: https://thedan64.github.io/inkwell/inkwell/debug_info/index.html#setting-up-the-module-for-holding-debug-info
Not sure why it is 3, but that is the value in the llvm tutorial as well: https://llvm.org/docs/SourceLevelDebugging.html
Fixes #6367
2024-01-08 20:28:42 -08:00
Folkert
b9b19d6054
fix for bugged setjmp/longjmp on windows/llvm
2024-01-07 23:04:11 +01:00
Anton-4
cd632fe549
Merge branch 'main' of github.com:roc-lang/roc into clippy-1.74
2023-12-25 17:05:37 +01:00
Anton-4
384cf2decf
add __udivti3 to must_keep
...
Fixes Undefined Symbol in relocation...
2023-12-13 12:09:15 +01:00
Brendan Hansknecht
ec6d8142e7
Re-enable early DCE with fix for M1 mac
...
I won't claim to know why `__muloti4` is special, but none of the other compiler-rt functions are,
but seems to work and stop tests from hanging.
It also enables early DCE again which saves a tiny bit of compile time.
2023-12-12 10:43:14 -08:00
Richard Feldman
95a4bb988c
Merge pull request #6255 from roc-lang/glue-panic-handler
...
make glue use a setjmp/longjmp panic handler
2023-12-11 16:33:26 -05:00
Richard Feldman
67d7385b9a
Clean up some obsolete asserts
2023-12-11 15:15:59 -05:00
Folkert
d2d87949c8
remove random write to pointer
2023-12-11 21:07:15 +01:00
Folkert
590282b14f
make glue use a setjmp/longjmp panic handler
2023-12-11 20:33:21 +01:00
Brendan Hansknecht
fb049b661a
Remove early DCE of builtins
...
Early DCE was sometimes cleaning up functions that we actaully still needed.
At some point we can come back to it and try to properly protect all special functions.
Until then, this still enables DCE, but it runs later with the full generated Roc module.
2023-12-11 10:44:57 -08:00
Brendan Hansknecht
b39d604745
Dict follow up and addition of releaseExcessCapacity
2023-12-10 00:06:58 -08:00
Brendan Hansknecht
1ad9933b38
add some missed symbols that roc needs
2023-12-09 18:33:23 -08:00
Brendan Hansknecht
e621de328d
fix dce of compiler-rt
2023-12-09 18:11:23 -08:00
Brendan Hansknecht
05c1b6c583
more debug info corrections
2023-12-04 14:27:02 -08: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
787d7f85ac
switch dbg arg ordering to make it backwards compatible
2023-12-02 21:18:32 -08:00
Brendan Hansknecht
3966d63e2f
add src and location to dbg
2023-12-02 21:18:31 -08:00
Ayaz
aaba3f4d82
Merge branch 'main' into clippy-1.74
2023-12-02 20:09:06 -06:00
Brendan Hansknecht
1f14aa84a2
misc cleanup suggestions
2023-11-29 21:05:56 -08:00
Brendan Hansknecht
e6cc43492a
rip out old dbg and setup reasonable base debug location info
2023-11-29 21:05:49 -08:00
Brendan Hansknecht
3d6c140a30
get minimal roc_dbg
working
2023-11-29 21:05:49 -08:00
Folkert
c019ced31d
various
2023-11-18 23:05:55 +01:00
HajagosNorbert
9c21ac1388
rename to GetElementPointer, index -> indices
2023-11-13 15:48:05 +01:00
HajagosNorbert
90223022af
remove tag_id in favor of index
2023-11-13 15:48:05 +01:00
HajagosNorbert
347431d1df
index to slice of indicies
2023-11-13 15:48:05 +01:00
Folkert
ec0eddb8b2
fix bug in use of alignment in free for tag unions
2023-10-23 13:50:34 -07:00
Brendan Hansknecht
398bf2f96c
update rust code to llvm-16 and fix build
...
also update:
- llvm frame address
- erased function type
- dec passing to zig
- gen dev storage size
2023-10-23 13:50:31 -07:00
Brendan Hansknecht
2e2e609547
update zig to 0.11 and update build script
...
Also update memcpy to avoid recursive memcpy due to optimizations.
2023-10-23 13:50:30 -07:00
Richard Feldman
c5ec8aba4f
Fix to_cc_type a bit
2023-10-17 06:40:16 -04:00
Folkert
94ca207772
formatting
2023-10-07 19:11:37 +02:00
Folkert
6ab54c02e2
drop into_iter in some places
2023-10-07 19:11:36 +02:00
Folkert
7fb4b60b21
move around hostexposedalias logic
2023-08-09 15:09:03 +02:00
Folkert
cdd2aab217
add alloca as an expression
2023-07-30 18:46:00 +02:00
Folkert
ce640fe65f
unwrap lambda sets for RC
2023-07-28 17:21:30 +02:00
Folkert
334253f47f
check inside a lambda set for whether it is reference counted
2023-07-26 20:06:37 +02:00
Ayaz Hafiz
d7a30966c1
Add explicit casts
...
For some reason these can no longer be inferred.
2023-07-17 09:50:37 -05:00
Ayaz Hafiz
3a3ee4dedf
Elide lifetimes
2023-07-12 16:10:59 -05:00
Ayaz Hafiz
a8d821bf87
Remove all box references
2023-07-12 15:50:00 -05:00
Ayaz Hafiz
6ba6b04a17
Pass function pointer directly rather than load/store into alloca
2023-07-12 14:45:02 -05:00
Ayaz Hafiz
1cd9deffe2
Sorry checker
2023-07-12 14:45:02 -05:00
Ayaz Hafiz
f37cc48e88
Build erased load in llvm
2023-07-12 14:45:02 -05:00
Ayaz Hafiz
e1c88c6101
Build erased types
2023-07-12 14:45:01 -05:00
Ayaz Hafiz
b8c1436a75
Pass less arguments around
2023-07-12 14:45:00 -05:00
Ayaz Hafiz
13d1232f7d
Erased functions do not take a func spec
2023-07-12 14:44:17 -05:00
Ayaz Hafiz
7c8e7bbea3
pub crate
2023-07-12 14:43:40 -05:00
Ayaz Hafiz
74d0f8d2e5
llvm types for erasure, function pointer
2023-07-12 14:43:40 -05:00
Ayaz Hafiz
283b9d53d6
Add Expr::ErasedLoad
2023-07-12 14:42:46 -05:00
Ayaz Hafiz
2c838aa5c2
Add mono Expr::ErasedMake
2023-07-12 14:40:16 -05:00