aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_debug.cpp
Commit message (Collapse)AuthorAgeFilesLines
* fix #no_nil in debug infodev-2025-01Laytan Laats2025-01-081-5/+4
| | | | Fixes #4664
* Remove `#relative` types from the compilergingerBill2024-11-141-11/+0
|
* fix #4243Laytan Laats2024-09-151-1/+1
|
* improve bit field debug infoLaytan Laats2024-09-141-36/+44
|
* Improve debug information for procedure typesgingerBill2024-09-071-9/+46
|
* Fix #4105gingerBill2024-08-241-3/+13
|
* Fix global variables being "missing" with `-use-separate-modules`gingerBill2024-07-151-0/+1
|
* Fix #3724gingerBill2024-06-101-18/+18
|
* fix debug info IR error on LLVM < 13Laytan Laats2024-06-041-0/+17
|
* fix direct proc args debug infoLaytan Laats2024-04-221-10/+2
|
* Fix typo.gingerBill2024-04-181-1/+1
|
* Fix #3445gingerBill2024-04-181-0/+2
|
* change unneeded permanent allocation to temporaryLaytan Laats2024-04-011-1/+1
|
* fix wrong type in map debug infoLaytan Laats2024-04-011-1/+1
|
* remove soa handling in debug info, fields are already added in checkerLaytan Laats2024-04-011-50/+1
|
* debug info fixes/refactorLaytan Laats2024-04-011-480/+495
| | | | | | | | | | | | | | | | | | 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.
* Try storing a pointer to a fake metadata type in the debug info for a `map`gingerBill2024-03-301-2/+2
|
* fix a segfault when incomplete types array resizes while processingLaytan Laats2024-03-291-1/+3
|
* Fix debug issue with `map`sgingerBill2024-03-011-2/+2
|
* Begin work adding `bit_field`gingerBill2024-02-221-0/+36
|
* Fix typo that causes map info debug issuesgingerBill2024-02-131-2/+2
|
* Use `Raw_Map` as the debug information for a `map`gingerBill2024-02-131-1/+3
|
* Add metadata type to `map`s debug information to aid debuggers knowing what ↵gingerBill2024-02-121-1/+1
| | | | is in it it
* Remove #relative slices; Replace with #relative multi-pointersgingerBill2023-08-051-12/+5
|
* Merge branch 'master' into separate-int-word-sizesgingerBill2023-06-061-1/+1
|\
| * Minor change to handling of propagation of errors with `---` as a valuegingerBill2023-05-221-1/+1
| |
* | Remove unused variablegingerBill2023-05-181-2/+0
| |
* | Rename `word_size` to `ptr_size` internally to make it clearergingerBill2023-04-201-15/+15
| |
* | Begin work on separating int and word sizes (i.e. `size_of(int)` might not ↵gingerBill2023-04-201-19/+22
|/ | | | equal `size_of(uintptr)`)
* Fix value elision on declarationgingerBill2023-03-091-1/+0
|
* Use `heap_allocator()` with `-debug`; Reinstate the arena guardsgingerBill2023-01-231-7/+6
|
* Replace `RecursiveMutex` with a `BlockingMutex`gingerBill2023-01-161-3/+2
|
* Begin to generalize modules away from `AstPackage *` in `-use-separate-modules`gingerBill2023-01-121-1/+1
|
* enum-ifiy function pass managers for `lbModule`gingerBill2023-01-051-0/+7
|
* Remove dead code in the compilergingerBill2022-12-181-6/+0
|
* `gb_internal` LLVM backendgingerBill2022-12-181-22/+22
|
* HACK: Get around debugging type generation for slices and dynamic arrays of ↵gingerBill2022-11-231-2/+14
| | | | *nix systems
* Extra check for slices and dynamic arrays for `-debug`gingerBill2022-11-231-0/+2
|
* Add extra check to debug information of named composite typesgingerBill2022-11-231-7/+34
|
* Fix #2125gingerBill2022-11-211-0/+1
|
* Remove the need for `type->Map.internal_type` and replace with the ↵gingerBill2022-11-081-1/+2
| | | | definition of `runtime.Raw_Map`
* Add debug symbols for global constants of integers, bools, enums, runes, & ↵gingerBill2022-11-021-0/+113
| | | | | | pointers. Variables are namespaced with `pkg::name` or `name` if built-in or the initial package for convenience.
* llvm_backend_debug: Add debug info for soa pointerLucas Perlind2022-10-081-0/+1
| | | | This fixes issue #2113
* Unify debug parameter codegingerBill2022-09-101-67/+8
|
* Split debug info generation for direct and indirect parametersgingerBill2022-09-091-1/+66
|
* Use `llvm.dbg.declare` for procedure parameters rather than `llvm.dbg.value`gingerBill2022-09-071-1/+2
|
* Fix loop var (init) becoming hidden while stepping on the for-lineFabian Sperber2022-07-191-0/+4
| | | | | - 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
* Integrate numerous debug fixes from #1877gingerBill2022-07-181-1/+1
|
* Correct debug information of #simd vectorsgingerBill2022-06-201-1/+12
|
* Correct debug information for local variablesgingerBill2022-02-281-1/+1
|