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
gingerBill
843eaf8893
Fix race condition with -use-separate-modules due to type determination
2023-04-18 17:20:50 +01:00
gingerBill
8dc70f797c
Increase use of temporary_allocator() where possible
2023-03-16 15:16:17 +00:00
gingerBill
0602a16ad6
Reserve memory for procedures when generating the LLVM IR
2023-03-16 12:44:03 +00:00
gingerBill
99460c9e32
Minimize stack wastage with compound literals defining variables
2023-02-17 14:26:22 +00:00
Phil Homan
c6c4ad6188
fix #by_ptr argument overrides for Linux
2023-02-15 16:51:00 -08:00
gingerBill
48685e8bf1
Remove set volatile for store
2023-02-14 23:52:36 +00:00
gingerBill
0f697a0f26
Move in_multi_assignment check tighter
2023-02-14 23:52:23 +00:00
gingerBill
ccf4b48865
Add extra checks for multiple assignments when emitting stores
2023-01-27 11:47:00 +00:00
gingerBill
0d059aa797
Replace BlockingMutex with RwMutex
2023-01-16 18:08:28 +00:00
gingerBill
65c0255e7e
Replace RecursiveMutex with a BlockingMutex
2023-01-16 18:05:58 +00:00
gingerBill
b289a27c4e
Move the mutex up a little
2023-01-16 17:04:37 +00:00
gingerBill
e488cf4601
Enforce atomic on hasher id
2023-01-16 15:09:29 +00:00
gingerBill
1ab90de493
Minimize StringMap structure usage
2023-01-14 12:33:42 +00:00
gingerBill
1064bcd060
Clean up use of StringMap
2023-01-13 12:13:26 +00:00
gingerBill
1e21125527
Split out object generation more
2023-01-12 21:49:53 +00:00
gingerBill
4a8c37dd52
Prepare for arbitrary separate modules
2023-01-12 21:45:02 +00:00
gingerBill
3b22c6620c
Begin to generalize modules away from AstPackage * in -use-separate-modules
2023-01-12 17:13:25 +00:00
gingerBill
402a165b60
Correct missing procedures in other build modules which cause a linkage problem
2023-01-12 16:59:16 +00:00
gingerBill
8ef406324b
Multi thread more of the backend where possible
2023-01-05 17:26:51 +00:00
gingerBill
213a0499a1
Begin multithreading the llvm backend when -use-separate-modules is enabled
2023-01-05 12:29:16 +00:00
gingerBill
252be0fb41
Make all maps use heap allocator implicitly
2023-01-03 11:59:52 +00:00
gingerBill
600f2b7284
Use heap_allocator for all hash set types
2023-01-03 11:53:59 +00:00
gingerBill
fa562ec5d6
Remove unneeded local_entity_map
2023-01-02 15:40:25 +00:00
gingerBill
529383f5b1
Correct a race condition when checking the procedure body
2023-01-02 15:30:04 +00:00
gingerBill
5c519f0e8d
Remove the synchronization primitive init/destroy calls
2023-01-01 16:19:21 +00:00
gingerBill
c1f5be24e2
Remove dead code in the compiler
2022-12-18 22:49:10 +00:00
gingerBill
6cdec65ca1
gb_internal LLVM backend
2022-12-18 22:32:05 +00:00
gingerBill
34a048f7da
Replace compiler for loops for the hash-table types to simplify code usage
2022-12-09 11:29:28 +00:00
gingerBill
d88b052d2d
Naïve optimization of named _split_ multiple return valued when defer is never used
...
This is a naïve optimization but it helps a lot in the general case where callee temporary stack variables
are not allocated to represent the named return values by using that specific memory.
In the future, try to check if a specific named return value is ever used a `defer` within a procedure or not,
or is ever passed to a nested procedure call (e.g. possibly escapes).
2022-11-25 23:57:55 +00:00
gingerBill
ae81117f70
Merge branch 'master' into multiple-return-abi-experiment
2022-11-23 23:43:00 +00:00