gingerBill
963559676e
Fix build times for -o:<string> in LLVM-17
2023-09-21 16:48:00 +01:00
gingerBill
4aa9d34b3d
Add attributes for sanitize_memory and sanitize_thread
2023-09-21 11:20:13 +01:00
gingerBill
38d2a0ddb9
Add sanitize_address attribute to all normal packages
2023-09-21 11:13:26 +01:00
William Roe
5d8b78cb88
Fix read_cycle_counter intrinsic on arm64
...
Running this code with the hard-coded x9 register results in not
returning the cycle count, but some other value.
This code (using $0 as the register), works on arm64 Linux and Darwin.
2023-08-07 21:18:56 +01:00
gingerBill
c91898a888
Remove #relative slices; Replace with #relative multi-pointers
2023-08-05 16:05:39 +01:00
gingerBill
afa8eb2d6f
Fix #2699
2023-08-05 15:04:14 +01:00
gingerBill
65206fe33e
Go through loads of TODOs
2023-08-01 11:39:04 +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
3c0f1caa41
Fix #2606
2023-06-26 17:03:40 +01:00
gingerBill
ea76e09ea7
Fix empty varargs
2023-06-21 14:30:39 +01:00
gingerBill
c9fb078c0f
Handle #c_vararg
2023-06-21 14:07:14 +01:00
gingerBill
1800030356
Correct deferred procedures
2023-06-21 14:01:46 +01:00
gingerBill
43ba2c6226
Fix constant parameter passing
2023-06-21 12:10:07 +01:00
gingerBill
09f366bec7
Correct purely named argument handling
2023-06-21 00:03:56 +01:00
gingerBill
7c57dde255
Start work on parapoly args for new and improved
2023-06-20 13:47:10 +01:00
gingerBill
9ec927b9e9
Try to get make everything work with parapoly
2023-06-20 00:30:29 +01:00
gingerBill
6568625dea
Fix line error printing for error messages
2023-06-19 22:12:47 +01:00
gingerBill
2992ca5df1
Basic support for new procedure code (non-polymorphic, non-proc-group)
2023-06-15 01:37:55 +01:00
gingerBill
151396507e
Merge pull request #1309 from Yawning/fix/freebsd-syscall
...
src: "Fix" the system call intrinsic for FreeBSD
2023-06-07 12:04:57 +01:00
gingerBill
ca6cef9a7d
Fix wasm intrinsics; fix len for strings and slices
2023-06-06 23:11:42 +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
8693a045bb
Revert "Change intrinsics.read_cycle_counter on ARM64"
...
This reverts commit b567679eb6 .
2023-05-12 11:50:49 +01:00
gingerBill
b567679eb6
Change intrinsics.read_cycle_counter on ARM64
2023-05-12 11:34:01 +01:00
gingerBill
685f7d0fea
Rename word_size to ptr_size internally to make it clearer
2023-04-20 12:18:13 +01:00
gingerBill
02a58c1247
Merge pull request #2464 from ap29600/simd_unaligned_load
...
Improve code generation for `intrinsics.unaligned_load/store` on `#simd` types
2023-04-20 10:33:32 +01:00
gingerBill
72a7b35513
Merge pull request #2450 from destroycomputers/master
...
Fix intrinsics.alloca code generation
2023-04-20 10:25:43 +01:00
Andrea Piseri
af63eff8d7
improve code generation for intrinsics.unaligned_load/store on #simd types
...
the default implementation calls memcpy on an `alloca` constant, which
seems to heavily confuse the optimizer and produces overall suboptimal
code.
Introducing this specialization simplifies the intermediate
representation produced, resulting in more efficient code.
2023-04-16 15:01:30 +02:00
gingerBill
dc55e88588
Add @(deferred_*_by_ptr=<proc>)
2023-04-15 16:04:04 +01:00
destroycomputers
b6f356c211
Fix intrinsics.alloca code generation
...
There was a disconnect between the declared return type for alloca
intrinsic in check_builtin.cpp (multi_pointer(t_u8)) and the generated
result type in llvm_backend_proc.cpp (t_u8_ptr).
This allowed slicing the return type, but in the code generation process
the type of the expression wasn't sliceable, which triggered the assert.
Fixes #2139
2023-04-11 01:11:01 +02:00
gingerBill
8dc70f797c
Increase use of temporary_allocator() where possible
2023-03-16 15:16:17 +00:00
gingerBill
c1c7128634
Minimize severe memory usage by enforcing the heap_allocator() in places
2023-03-16 15:04:57 +00:00
gingerBill
233f47cc99
Fix #2329
2023-02-19 12:47:14 +00:00
gingerBill
c08809e29d
Improve handling of passing constants to implicit immutable const ref parameters
2023-02-17 14:49:37 +00:00
gingerBill
8a16fd7699
Rename built-in procedure to expand_values
2023-02-07 15:39:39 +00:00
gingerBill
0324281634
Enforce dynamic map calls for the time being
2023-02-03 15:17:30 +00:00
gingerBill
de0a3e0ab9
Minor change to byval for readonly parameters
2023-02-03 15:07:44 +00:00
gingerBill
881ef69063
Use ~{} syntax
2023-01-23 10:14:21 +00:00
gingerBill
761a19689d
Escape $ in asm
2023-01-23 10:09:22 +00:00
gingerBill
5d397804f7
Fix #2286 by printing an error correctly
2023-01-16 13:22:37 +00:00
gingerBill
68b2d4b9e2
Fix #2305
2023-01-16 11:41:58 +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
252be0fb41
Make all maps use heap allocator implicitly
2023-01-03 11:59:52 +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
9b278db993
Revert "Change tav to be a pointer internally"
...
This reverts commit e98f1a28e6 .
2022-12-22 12:01:41 +00:00
gingerBill
e98f1a28e6
Change tav to be a pointer internally
2022-12-22 11:53:13 +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