aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_stmt.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Simplify copy elision on variable declarationsgingerBill2023-03-161-31/+33
|
* Allow `case nil` within a type switch statement (experimental idea)gingerBill2023-03-121-5/+14
|
* Fix range loop `&` vals debug infogingerBill2023-03-091-0/+1
|
* Fix debug symbols for range loopsgingerBill2023-03-091-9/+0
|
* Fix value elision on declarationgingerBill2023-03-091-9/+18
|
* Reduce stack usage of some type `switch` `case`sgingerBill2023-02-171-6/+66
|
* Minimize stack wastage with compound literals defining variablesgingerBill2023-02-171-2/+38
|
* Add extra checks for multiple assignments when emitting storesgingerBill2023-01-271-0/+14
|
* Fix #2299 by handling very large value cases correctlygingerBill2023-01-201-1/+1
|
* Begin multithreading the llvm backend when `-use-separate-modules` is enabledgingerBill2023-01-051-1/+1
|
* Localize `GenProcsData` to the entity itselfgingerBill2023-01-041-4/+2
|
* Use `RwMutex` for `gen_procs`gingerBill2023-01-031-1/+2
|
* More `for_array(i, y)` to `for (x : y)` translationsgingerBill2023-01-031-44/+30
|
* Minimize the parapoly mutex usage a bitgingerBill2023-01-021-2/+3
|
* Remove unneeded mutexgingerBill2023-01-021-3/+2
|
* Remove unneeded `local_entity_map`gingerBill2023-01-021-3/+0
|
* Correct a race condition when checking the procedure bodygingerBill2023-01-021-1/+5
|
* Revert "Change `tav` to be a pointer internally"gingerBill2022-12-221-17/+17
| | | | This reverts commit e98f1a28e68e82753728f58b3465793192b74f9d.
* Change `tav` to be a pointer internallygingerBill2022-12-221-17/+17
|
* Remove dead code in the compilergingerBill2022-12-181-10/+0
|
* `gb_internal` LLVM backendgingerBill2022-12-181-45/+45
|
* Fix type for split returns codegingerBill2022-11-241-1/+1
|
* Basic copy elision support for multiple return valuesgingerBill2022-11-241-24/+24
|
* Clean up `return` logic for split multiple return ABI experimentgingerBill2022-11-231-37/+57
|
* Basic support for new ABI experiment on Win64gingerBill2022-11-231-3/+21
|
* Remove copy elision codegingerBill2022-11-221-33/+0
|
* Add minor optimization for `lb_map_cell_index_static`gingerBill2022-11-111-3/+11
|
* Fix `for in` for `map`gingerBill2022-11-081-2/+2
|
* Allow for `-use-static-map-calls` which generates a get procedure per `map`; ↵gingerBill2022-11-081-10/+16
| | | | add `runtime.map_get`
* Support `for in` loops for `map`gingerBill2022-11-081-7/+23
|
* General modificationsgingerBill2022-11-081-13/+94
|
* Fix #1435 type switch statements of empty union typesgingerBill2022-09-171-3/+14
|
* Fix #2000 - allow #soa array iteration by pointergingerBill2022-09-011-1/+1
|
* Fix #2002 (allow `array *= matrix`)gingerBill2022-09-011-1/+11
|
* Correct max alignment handling throughout the llvm backendgingerBill2022-08-241-1/+1
|
* using correct type for val1Ian Lilley2022-08-151-1/+1
|
* removed unnecessary ternaryIan Lilley2022-08-111-2/+2
|
* fixed debug symbols for range intervalIan Lilley2022-08-031-11/+14
|
* Force memset instead of store zeroinitializer when the value is largegingerBill2022-07-241-1/+2
|
* Fix debug info for type switch variable to be only visible in correct switch ↵Fabian Sperber2022-07-191-2/+7
| | | | | | case - use correct scopes for type switch
* Fix loop var (init) becoming hidden while stepping on the for-lineFabian Sperber2022-07-191-2/+8
| | | | | - 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-5/+3
|
* Fix issue #1592 "LLVM code gen error when using a constant in an if"gitlost2022-03-181-1/+4
| | | | | | | Changes lb_build_if_stmt() to return null lbValue if condition is cmpAnd, cmpOr or non-const neg and check in lb_build_if_stmt() to avoid short circuiting if that's the case Adds test to "tests/issues" and adds step in CI to check this dir
* Add `#no_type_assert` and `#type_assert` to disable implicit type assertions ↵gingerBill2022-01-271-0/+7
| | | | with `x.(T)`
* Remove unused lbDefer kindgingerBill2022-01-151-4/+0
|
* Remove dead codegingerBill2022-01-151-48/+0
|
* Fix swizzle logic within `lb_build_assign_stmt_array`gingerBill2022-01-151-2/+2
|
* Fix #1344gingerBill2022-01-031-0/+1
|
* Fix #1319gingerBill2021-11-191-1/+8
|
* Remove `scope` field from `Ast`gingerBill2021-11-141-8/+8
|