Laytan Laats
cfc85fd737
fix wrong type in map debug info
2024-04-01 18:42:10 +02:00
Laytan Laats
7c2352ea08
remove soa handling in debug info, fields are already added in checker
2024-04-01 16:51:16 +02: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
4edcaa6124
Try storing a pointer to a fake metadata type in the debug info for a map
2024-03-30 10:29:20 +00:00
Laytan Laats
915f63b3f9
fix a segfault when incomplete types array resizes while processing
2024-03-29 22:42:12 +01:00
gingerBill
ff24cfe314
Fix debug issue with maps
2024-03-01 14:00:14 +00:00
gingerBill
a4b8c1ea17
Begin work adding bit_field
2024-02-22 15:55:54 +00:00
gingerBill
912c326d8b
Fix typo that causes map info debug issues
2024-02-13 17:06:04 +00:00
gingerBill
5cd57a3a7f
Use Raw_Map as the debug information for a map
2024-02-13 15:50:07 +00:00
gingerBill
c291fffce1
Add metadata type to maps debug information to aid debuggers knowing what is in it it
2024-02-12 12:29:37 +00:00
gingerBill
c91898a888
Remove #relative slices; Replace with #relative multi-pointers
2023-08-05 16:05: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
60ec3594ab
Remove unused variable
2023-05-18 11:29:27 +01:00
gingerBill
685f7d0fea
Rename word_size to ptr_size internally to make it clearer
2023-04-20 12:18:13 +01:00
gingerBill
84f966cb8f
Begin work on separating int and word sizes (i.e. size_of(int) might not equal size_of(uintptr))
2023-04-20 11:46:41 +01:00
gingerBill
7c0257fcda
Fix value elision on declaration
2023-03-09 15:39:41 +00:00
gingerBill
55176e52fc
Use heap_allocator() with -debug; Reinstate the arena guards
2023-01-23 11:38:18 +00:00
gingerBill
65c0255e7e
Replace RecursiveMutex with a BlockingMutex
2023-01-16 18:05: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
5eee8077dd
enum-ifiy function pass managers for lbModule
2023-01-05 15:56:45 +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
5ac36b5f25
HACK: Get around debugging type generation for slices and dynamic arrays of *nix systems
2022-11-23 22:46:02 +00:00
gingerBill
22bcf1ba70
Extra check for slices and dynamic arrays for -debug
2022-11-23 22:31:21 +00:00
gingerBill
51c705edf1
Add extra check to debug information of named composite types
2022-11-23 21:59:53 +00:00
gingerBill
27d56d0da4
Fix #2125
2022-11-21 10:25:34 +00:00
gingerBill
810a1eee41
Remove the need for type->Map.internal_type and replace with the definition of runtime.Raw_Map
2022-11-08 11:13:46 +00:00
gingerBill
3b583cbac7
Add debug symbols for global constants of integers, bools, enums, runes, & pointers.
...
Variables are namespaced with `pkg::name` or `name` if built-in or the initial package for convenience.
2022-11-02 00:05:51 +00:00
Lucas Perlind
e188a542da
llvm_backend_debug: Add debug info for soa pointer
...
This fixes issue #2113
2022-10-08 17:08:28 +11:00
gingerBill
913e8b2e02
Unify debug parameter code
2022-09-10 10:03:51 +01:00
gingerBill
623d687192
Split debug info generation for direct and indirect parameters
2022-09-09 23:07:09 +01:00
gingerBill
268fb22bca
Use llvm.dbg.declare for procedure parameters rather than llvm.dbg.value
2022-09-07 23:47:33 +01:00
Fabian Sperber
fb167d1d0a
Fix loop var (init) becoming hidden while stepping on the for-line
...
- set debug location of jumps between block (similar to clang to the location of 'for')
- extend scope range to include all parts of the for-stmt
2022-07-19 00:46:27 +02:00
gingerBill
6c7e5748a8
Integrate numerous debug fixes from #1877
2022-07-18 12:49:29 +01:00
gingerBill
33d96fd28a
Correct debug information of #simd vectors
2022-06-20 16:00:17 +01:00
gingerBill
c223fc1766
Correct debug information for local variables
2022-02-28 12:06:35 +00:00
gingerBill
42ad54c28e
Improve metadata for context
2022-02-16 15:18:22 +00:00
gingerBill
e011d812ca
Improve debug information for direct procedure parmaters
2022-02-16 14:39:08 +00:00
gingerBill
0738822dda
Change how parameter and variables are given debug values
2022-02-16 13:25:31 +00:00
gingerBill
2213722776
Change debug declare to value
2022-02-16 12:37:22 +00:00
gingerBill
eac74631ec
Correct debug information logic for procedure parameters
2022-02-01 14:11:19 +00:00
gingerBill
3f038428a7
Begin minimizing Ast size
2021-11-14 15:12:37 +00:00
gingerBill
600d19c51b
General catch-all for llvm debug types
2021-11-09 18:04:31 +00:00
gingerBill
6be104e521
Make llvm backend code use PtrMap; remove dead code
2021-11-05 16:43:53 +00:00
gingerBill
b01e0fbbc2
Correct typo in soa data type debug information generation
2021-11-01 23:00:42 +00:00
gingerBill
0b4cbcf409
Correct debug info for matrix type
2021-11-01 16:39:02 +00:00
gingerBill
7b8b2f042c
Add debug type information for matrix
2021-10-29 00:13:22 +01:00
gingerBill
71f2289c20
Fix #1174
2021-09-18 15:10:29 +01:00
Jeroen van Rijn
0d12432d3f
VS: Fix compilation using VS 2022.
2021-09-16 13:24:20 +02:00