gingerBill
5a4746c3a0
Improve debug information for procedure types
2024-09-07 17:41:16 +01:00
gingerBill
8b248673c1
Fix #4105
2024-08-24 13:36:43 +01:00
gingerBill
549311fac9
Fix global variables being "missing" with -use-separate-modules
2024-07-15 12:21:42 +01:00
gingerBill
eef2aef021
Fix #3724
2024-06-10 15:07:45 +01:00
Laytan Laats
7d29389834
fix debug info IR error on LLVM < 13
2024-06-04 14:41:42 +02:00
Laytan Laats
90369b669b
fix direct proc args debug info
2024-04-22 19:36:24 +02:00
gingerBill
f84a092977
Fix typo.
2024-04-18 11:28:46 +01:00
gingerBill
aad41fc762
Fix #3445
2024-04-18 11:27:42 +01:00
Laytan Laats
4fc96e1ca5
change unneeded permanent allocation to temporary
2024-04-01 19:06:05 +02:00
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