gingerBill
e72736a5a8
Remove #relative types from the compiler
2024-12-01 11:54:53 +11:00
Laytan Laats
6e534c0e24
check packed load and set alignment on all loads, not just lb_emit_load
2024-12-01 11:54:50 +11:00
laytan
182a916092
fix erronous updating alignment of external global
2024-12-01 11:54:50 +11:00
Laytan
ca6ef95b03
add support for linux_riscv64 and freestanding_riscv64
2024-08-20 14:06:40 +02:00
gingerBill
8e52a52580
Cache the paddding filler type
2024-08-18 18:37:40 +01:00
gingerBill
f49ebae956
Correct lbAddr_SoaVariable logic
2024-08-18 12:37:15 +01:00
gingerBill
1e37eaf54d
Begin work for bit_set[...; [N]T] (not working)
2024-07-15 14:49:20 +01:00
gingerBill
5cefab8229
Fix case: in type switch issue
2024-07-15 13:22:50 +01:00
gingerBill
7d643bcae3
Make linkage weak in certain places
2024-07-15 12:30:32 +01:00
gingerBill
549311fac9
Fix global variables being "missing" with -use-separate-modules
2024-07-15 12:21:42 +01:00
gingerBill
c5decd3eae
Fix possible race and correct linkage _after_ generation
2024-07-15 11:49:07 +01:00
gingerBill
6b3453cc64
Fix #3902
2024-07-11 13:08:38 +01:00
gingerBill
34c6868e78
Merge pull request #3895 from laytan/fix-optimization-mode-attribute
...
remove misleading @(optimization_mode) values and make "none" inhibit optimizations
2024-07-10 13:22:57 +01:00
gingerBill
87ac68fcf2
Add -internal-cached
2024-07-08 23:39:14 +01:00
Laytan Laats
1a20b78633
remove misleading @(optimization_mode) values and make "none" inhibit optimizations
2024-07-08 21:06:57 +02:00
gingerBill
2a219fa830
Correct -use-separate-module behaviour
2024-07-08 15:13:40 +01:00
gingerBill
8491e2491c
Experiment with different uses of -use-separate-modules
2024-07-08 14:48:59 +01:00
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