| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Change MAX_STORE_SIZEdev-2022-07 | gingerBill | 2022-06-30 | 1 | -2/+2 |
| | | |||||
| * | Use `memmove` if possible when emitting store over a certain size | gingerBill | 2022-06-30 | 1 | -0/+20 |
| | | |||||
| * | Minor style change | gingerBill | 2022-06-12 | 1 | -1/+1 |
| | | |||||
| * | Merge pull request #1395 from hdooley/master | gingerBill | 2022-06-12 | 1 | -8/+14 |
| |\ | | | | | factor out alloca generation into a helper | ||||
| | * | review feedback | Henry Dooley | 2021-12-28 | 1 | -1/+3 |
| | | | |||||
| | * | cast isize to unsigned int for llvm api, add defaulted name parameter to helper. | Henry Dooley | 2021-12-25 | 1 | -4/+4 |
| | | | |||||
| | * | factor out alloca generation into a helper | Henry Dooley | 2021-12-25 | 1 | -7/+11 |
| | | | |||||
| * | | Make the link order of foreign imports deterministic | gingerBill | 2022-05-04 | 1 | -2/+5 |
| | | | |||||
| * | | Compiler: Add early error for output path being a directory. | Jeroen van Rijn | 2022-04-24 | 1 | -1/+0 |
| | | | | | | | | | | | | | | | | | | | | | | | | | - Introduce new `Path` type and an array of build paths on the build context. - Resolve input and output paths/files early (before parsing). - Error early if inputs are missing or outputs are directories. - Plumb new file path generation into linker stage instead of its adhoc method. TODO: - Remove more adhoc file path generation in parser and linker stage. - Make intermediate object file generation use new path system. - Round out and robustify Path helper functions. | ||||
| * | | Make constant string backing structures use PrivateLinkage compared to ↵ | gingerBill | 2022-03-24 | 1 | -3/+3 |
| | | | | | | | | | InternalLinkage | ||||
| * | | `union #shared_nil` | gingerBill | 2022-03-24 | 1 | -3/+28 |
| | | | | | | | | | This adds a feature to `union` which requires all the variants to have a `nil` value and on assign to the union, checks whether that value is `nil` or not. If the value is `nil`, the union will be `nil` (thus sharing the `nil` value) | ||||
| * | | Fix issue #1592 "LLVM code gen error when using a constant in an if" | gitlost | 2022-03-18 | 1 | -3/+12 |
| | | | | | | | | | | | | | | | 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 | ||||
| * | | Begin work on support objc intrinsics | gingerBill | 2022-02-08 | 1 | -1/+7 |
| | | | |||||
| * | | avoid segfault on map resize | CiD- | 2022-01-26 | 1 | -1/+2 |
| | | | |||||
| * | | Fix double map dereference indexing | gingerBill | 2022-01-26 | 1 | -0/+4 |
| |/ | |||||
| * | Fix #1319 | gingerBill | 2021-11-19 | 1 | -3/+8 |
| | | |||||
| * | Remove many LLVM optimization passes which were causes UB due to them ↵ | gingerBill | 2021-11-06 | 1 | -1/+1 |
| | | | | | assuming C-like behaviour incompatible with Odin | ||||
| * | Make llvm backend code use `PtrMap`; remove dead code | gingerBill | 2021-11-05 | 1 | -31/+25 |
| | | |||||
| * | `@(linkage=<string>)` for procedures and variables; `@(require)` for ↵ | gingerBill | 2021-11-04 | 1 | -0/+13 |
| | | | | | procedures; `package runtime` linkage improvements; Subsequence improvements to `lb_run_remove_unused_function_pass` | ||||
| * | Add `ODIN_LLVM_MINIMUM_VERSION_12` | gingerBill | 2021-10-25 | 1 | -1/+1 |
| | | |||||
| * | Update alignment rules for `matrix` types as a compromise to keep zero padding | gingerBill | 2021-10-25 | 1 | -2/+6 |
| | | |||||
| * | Support indexing matrices | gingerBill | 2021-10-19 | 1 | -0/+30 |
| | | |||||
| * | Basic support for matrix*vector, vector*matrix operations | gingerBill | 2021-10-19 | 1 | -3/+5 |
| | | |||||
| * | Begin work on matrix type | gingerBill | 2021-10-18 | 1 | -0/+18 |
| | | |||||
| * | Correct ABI for windows with LLVM | gingerBill | 2021-10-02 | 1 | -0/+2 |
| | | |||||
| * | Add sizes to assert message | gingerBill | 2021-10-02 | 1 | -1/+4 |
| | | |||||
| * | Add message to assert; add sanity check for possible future behaviour | gingerBill | 2021-10-02 | 1 | -11/+14 |
| | | |||||
| * | Minor code cleanup for backend; add ↵ | gingerBill | 2021-10-02 | 1 | -8/+10 |
| | | | | | `struct_fields_index_by_increasing_offset` for future use | ||||
| * | Remove need for alignment `lb_struct_has_padding_prefix` | gingerBill | 2021-10-02 | 1 | -12/+15 |
| | | |||||
| * | Heavily improve the LLVM struct type generation to improve ABI | gingerBill | 2021-10-02 | 1 | -65/+50 |
| | | |||||
| * | Fix #1174 | gingerBill | 2021-09-18 | 1 | -1/+5 |
| | | |||||
| * | LLVM Code Generator: Add explicitly padding between fields in LLVM struct types | gingerBill | 2021-09-13 | 1 | -15/+55 |
| | | |||||
| * | Replace many uses of `heap_allocator()` with `permanent_allocator()` | gingerBill | 2021-09-13 | 1 | -2/+2 |
| | | |||||
| * | Begin minimize `Type` size by replacing `Array` with `Slice` etc | gingerBill | 2021-09-13 | 1 | -1/+1 |
| | | |||||
| * | Prepare for LLVM 12.0.1 compatibility | gingerBill | 2021-09-11 | 1 | -15/+23 |
| | | |||||
| * | Treat `Type_Tuple` closer to a `Type_Struct` in `lb_type` | gingerBill | 2021-08-26 | 1 | -0/+3 |
| | | |||||
| * | Unify thread pool logic across the rest of the compiler, using a global ↵ | gingerBill | 2021-08-26 | 1 | -2/+0 |
| | | | | | thread pool | ||||
| * | Add multi-pointer types `[^]T` | gingerBill | 2021-08-21 | 1 | -0/+35 |
| | | |||||
| * | Migrate and remove more from gb.h | gingerBill | 2021-08-19 | 1 | -5/+3 |
| | | |||||
| * | Remove unused code | gingerBill | 2021-08-19 | 1 | -6/+5 |
| | | |||||
| * | Fix #1026 | gingerBill | 2021-08-13 | 1 | -2/+25 |
| | | |||||
| * | Unify semantics of the built-in `swizzle` procedure with the selector ↵ | gingerBill | 2021-08-09 | 1 | -0/+44 |
| | | | | | expression semantics e.g. `.xyz` | ||||
| * | Reorganize llvm_backend.cpp into separate files for easier maintenance | gingerBill | 2021-08-07 | 1 | -0/+2490 |