aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* When using `-debug`, default to `-o:none` unless explicitly specifiedgingerBill2023-05-022-3/+11
|
* Fix #2481gingerBill2023-04-271-1/+1
|
* Fix #2487gingerBill2023-04-271-0/+3
|
* Make `!x` be an untyped booleangingerBill2023-04-271-0/+2
|
* Add extra nullptr checkgingerBill2023-04-271-1/+1
|
* Require parentheses around certain uses of `or_return` expressionsgingerBill2023-04-272-3/+81
|
* Unify `check_constant_parameter_value` logicgingerBill2023-04-271-8/+15
|
* Add ifdef blockgingerBill2023-04-211-0/+2
|
* Fix memory leak caused by awful realloc usage on LinuxgingerBill2023-04-213-13/+32
|
* Merge branch 'master' of https://github.com/odin-lang/OdingingerBill2023-04-201-6/+20
|\
| * Merge pull request #2464 from ap29600/simd_unaligned_loadgingerBill2023-04-201-5/+19
| |\ | | | | | | Improve code generation for `intrinsics.unaligned_load/store` on `#simd` types
| | * improve code generation for `intrinsics.unaligned_load/store` on `#simd` typesAndrea Piseri2023-04-161-5/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | Merge pull request #2450 from destroycomputers/mastergingerBill2023-04-201-1/+1
| |\ \ | | | | | | | | Fix intrinsics.alloca code generation
| | * | Fix intrinsics.alloca code generationdestroycomputers2023-04-111-1/+1
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | / Allow aliasing foreign import namegingerBill2023-04-201-1/+3
|/ /
* | Fix race condition with -use-separate-modules due to type determinationgingerBill2023-04-183-3/+18
| |
* | Add missing enumgingerBill2023-04-181-0/+1
| |
* | Inline static map calls for map get, and improve readability of the LLVM IRgingerBill2023-04-181-26/+54
| |
* | Improve grammargingerBill2023-04-152-2/+2
| |
* | Add `@(deferred_*_by_ptr=<proc>)`gingerBill2023-04-153-111/+222
| |
* | Add `struct #no_copy`gingerBill2023-04-158-12/+60
|/
* Merge pull request #2435 from Lperlind/mastergingerBill2023-04-061-1/+1
|\ | | | | Fix type comparison not accounting for parapoly params
| * Fix type comparison not accounting for parapoly paramsLucas Perlind2023-04-031-1/+1
| |
* | Add `-max-error-count:<integer>`gingerBill2023-04-043-7/+49
| |
* | Fix `allow_field_separator` for `foreign import`dev-2023-04gingerBill2023-04-031-3/+5
|/
* Change help text to output to stdoutMark Naughton2023-03-291-3/+3
|
* Fix typo in warning message in parserAlexander Goussas2023-03-241-1/+1
|
* Fix typogingerBill2023-03-211-1/+1
|
* Correctly handle end comment for doc generationgingerBill2023-03-212-6/+19
|
* Add `@(extra_linker_flags=<string>)`gingerBill2023-03-214-0/+27
|
* Change trailing comma require to `-strict-style` onlygingerBill2023-03-211-1/+1
|
* Improve `llreg` integer type generation for SysV ABIgingerBill2023-03-191-58/+79
|
* Improve SysV ABI for multiple return values that fit into a single register; ↵gingerBill2023-03-191-4/+8
| | | | Fixes #2384
* Simplify copy elision on variable declarationsgingerBill2023-03-163-40/+34
|
* Increase use of `temporary_allocator()` where possiblegingerBill2023-03-164-38/+79
|
* Minimize severe memory usage by enforcing the `heap_allocator()` in placesgingerBill2023-03-164-31/+37
|
* Fix minor memory leakgingerBill2023-03-161-5/+12
|
* Reserve memory for procedures when generating the LLVM IRgingerBill2023-03-161-2/+7
|
* Merge pull request #2380 from flysand7/mastergingerBill2023-03-143-1/+14
|\ | | | | Add -no-thread-local flag
| * rename -no-tls to -no-thread-localbumbread2023-03-143-7/+7
| |
| * Added -no-tls flagbumbread2023-03-133-1/+14
| |
* | Fix missing commas in -target-featues string by adding missing i increment.Florian Behr2023-03-141-0/+1
| |
* | Allow `case nil` within a type switch statement (experimental idea)gingerBill2023-03-122-7/+40
| |
* | Improve type checking on polymorphic unionsgingerBill2023-03-121-0/+8
|/
* 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-095-12/+33
|
* Update help usagegingerBill2023-03-071-1/+1
|
* Add `-o:none` optimization mode (useful for `-debug` builds)gingerBill2023-03-073-14/+25
|
* Use `atof` in `float_from_string` to allow for debug C-like semantic purposesgingerBill2023-03-061-1/+32
|