Commit Graph

166 Commits

Author SHA1 Message Date
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