gingerBill
075384b2bb
Fix #soa assignment bug
2024-07-03 00:33:13 +01:00
Laytan Laats
c822f0b8c8
fix llvm assertion about metadata on non-instruction
2024-07-02 01:14:50 +02:00
gingerBill
6db748b4a4
Remove debug message
2024-06-29 16:18:43 +01:00
gingerBill
a935ade0d2
Keep -sanitize:address happy with bit_field loads
2024-06-29 16:18:07 +01:00
gingerBill
0b02c67cdf
Minor clean up for backend
2024-06-11 12:19:52 +01:00
Laytan Laats
3628154849
fix swizzle crash due to wrong alignment
...
Fixes #3691
2024-06-09 03:33:23 +02:00
gingerBill
ab8e3db7e9
Remove bad code
2024-05-16 17:18:37 +01:00
gingerBill
575b268e88
Fix more #soa changes
2024-05-16 17:15:38 +01:00
gingerBill
32245e93a1
Fix #3514 along with soa.a[i] bounds checking
2024-05-16 16:18:21 +01:00
gingerBill
f8d235b6f5
Fix #3581 due to typo
2024-05-13 12:02:02 +01:00
gingerBill
1d3c061add
Fix typo
2024-05-07 15:52:13 +01:00
gingerBill
de5ce90fa7
Add metadata to packed structs field accesses to state it is packed
2024-05-07 15:28:09 +01:00
gingerBill
4bea5dbac1
Correct map usage
2024-04-26 15:09:08 +01:00
gingerBill
3b53c99576
Improve support for big-endian bit_fields
2024-04-24 20:55:18 +01:00
gingerBill
214537b420
Improve codegen for bit_field [N]T compound literals
2024-04-24 17:01:09 +01:00
gingerBill
c330e5b5c1
Improve codegen for bit_field compound literals with an integer backing
2024-04-24 14:46:34 +01:00
gingerBill
ec5a84a537
Improve code generation for loading bit_field fields
2024-04-24 13:10:58 +01:00
gingerBill
5200e3fe7a
Set __$ti- stuff to be private linkage
2024-04-18 12:45:20 +01:00
gingerBill
a61ae7c861
Fix #3427
2024-04-16 13:31:49 +01:00
gingerBill
caa344c88d
Simplify scalar -> array conversions in LLVM to use a loop after a certain size
2024-04-12 14:05:36 +01:00
gingerBill
13e459980b
Fix ptr_to_bit_field.field
2024-04-10 16:18:44 +01:00
Laytan Laats
9647cb74ad
debug info fixes/refactor
...
This fixes (on my end) #3340 , #3117 , #2945 , #2922 , and #2762
A general refactor of debug info generation in order to fix issues and
increase stability.
What I believe is the root cause of a bunch of issues is that we use the
temporary metadata/forward declarations too much (/ hold onto them for
too long). It seems to cause problems with the reference counting inside
LLVM.
This PR reduces the use of these forward declarations to a minimum, it
creates it, fills in the fields, and resolves it, instead of waiting
until the end of generating code.
Some smaller issues I came across have also been solved.
2024-04-01 16:28:44 +02:00
gingerBill
9271372fef
Fix #field_align issues, by simplifying the LLVM struct type generation
2024-03-30 13:06:51 +00:00
gingerBill
6cb74b63ec
Fix #3286
2024-03-18 12:39:34 +00:00
gingerBill
c7c6852057
Support swizzle selector syntax .xyzw for #simd vectors
2024-03-12 12:11:48 +00:00
gingerBill
5a84a08225
Add general support for bit_fields
2024-02-22 17:24:42 +00:00
gingerBill
a4b8c1ea17
Begin work adding bit_field
2024-02-22 15:55:54 +00:00
gingerBill
f4782157d3
Implement instrumentation pass
2024-01-07 21:34:44 +00:00
Platin21
37c2e9bec3
Fixed Typo / Added check for 1
2024-01-02 21:14:17 +01:00
Platin21
da977cf1e6
Adds new flag for linker to know if it should link the system library or not
2024-01-02 20:55:15 +01:00
gingerBill
3102abf1aa
mem zero rather than store to a union where the variant is of size zero
2023-11-24 10:57:18 +00:00
gingerBill
d589914956
Ignore store undef calls
2023-10-29 20:43:02 +00:00
gingerBill
082324d7b9
Begin work on making the type info table be constantly initialized
2023-09-22 14:39:51 +01:00
gingerBill
e748d2f2af
Update to LLVM-17
2023-09-19 16:15:26 +01:00
gingerBill
c91898a888
Remove #relative slices; Replace with #relative multi-pointers
2023-08-05 16:05:39 +01:00
gingerBill
b495a302b0
Merge branch 'master' into tilde
2023-08-03 13:14:09 +01:00
gingerBill
65206fe33e
Go through loads of TODOs
2023-08-01 11:39:04 +01:00
gingerBill
b09cdc0f25
Hook up Tilde to the linker code
2023-07-24 12:01:23 +01:00
gingerBill
3072479c3c
Generalize name mangling rule to have a singular definition for a name separator
2023-07-07 23:52:56 +01:00
gingerBill
62031c24a2
Add extra mutex guards around module value access
2023-07-07 23:35:16 +01:00
gingerBill
1ff6212ffa
Always call lb_run_remove_dead_instruction_pass to fix -debug issues
2023-07-07 22:28:31 +01:00
gingerBill
8b8310711e
Fix #2594 zero sized union code generation
2023-06-26 17:36:27 +01:00
gingerBill
581eebb197
Fix a race condition when produced anonymous procedure literals with -use-separate-modules
2023-06-13 13:14:59 +01:00
gingerBill
2022a7615a
Make all id suffixes use atomics where possible
2023-06-12 14:10:18 +01:00
gingerBill
f622a8393c
Change ABI for wasm64p32 on slices and structs
2023-06-07 00:30:14 +01:00
gingerBill
2bc5e0ebd7
Fix non-constant compound literals of slices
2023-06-07 00:10:39 +01:00
gingerBill
4a75a1e839
Merge branch 'master' into separate-int-word-sizes
2023-06-06 22:42:04 +01:00
gingerBill
8bf32ac697
Minor change to handling of propagation of errors with --- as a value
2023-05-22 12:53:29 +01:00
gingerBill
685f7d0fea
Rename word_size to ptr_size internally to make it clearer
2023-04-20 12:18:13 +01:00
gingerBill
cde442fa2c
Add internal padding to types where ptr size != int size
2023-04-20 11:55:18 +01:00