| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Make inline array arithmetic use `load+extractvalue` rather than ↵dev-2021-06 | gingerBill | 2021-06-01 | 1 | -7/+42 |
| | | | | | `getelementptr+load` to give the optimizer a better hint for vectorization | ||||
| * | Improves to array arithmetic on += etc assignment statements | gingerBill | 2021-06-01 | 1 | -68/+218 |
| | | |||||
| * | Fix #992 | gingerBill | 2021-05-31 | 1 | -2/+4 |
| | | |||||
| * | Fix #999 | gingerBill | 2021-05-31 | 1 | -1/+1 |
| | | |||||
| * | Fix #1004 | gingerBill | 2021-05-31 | 1 | -36/+0 |
| | | |||||
| * | Add intrinsics.{ptr_offset, ptr_sub} | gingerBill | 2021-05-30 | 1 | -0/+31 |
| | | |||||
| * | Improve logic for intrinsics.{mem_copy, mem_copy_non_overlapping, mem_zero} ↵ | gingerBill | 2021-05-30 | 1 | -10/+65 |
| | | | | | to use the `*.inline` LLVM variants when possible | ||||
| * | Fix comparison bug of enumerated arrays | gingerBill | 2021-05-27 | 1 | -2/+6 |
| | | |||||
| * | Disable copy elision on assignments for the time being | gingerBill | 2021-05-25 | 1 | -2/+2 |
| | | |||||
| * | Minimize copying on getting the address of a call if required | gingerBill | 2021-05-24 | 1 | -1/+5 |
| | | |||||
| * | Add `intrinsics.mem_zero` | gingerBill | 2021-05-24 | 1 | -2/+14 |
| | | |||||
| * | Move the mem zero into a separate procedure for reuse | gingerBill | 2021-05-24 | 1 | -19/+27 |
| | | |||||
| * | Refactoring of lbFunctionType retrieval | gingerBill | 2021-05-24 | 1 | -15/+26 |
| | | |||||
| * | Refactor backend code for assignments; Refactor some statements into ↵ | gingerBill | 2021-05-24 | 1 | -399/+335 |
| | | | | | separate procedures | ||||
| * | Heavily improve the copy elision logic in the backend | gingerBill | 2021-05-24 | 1 | -44/+96 |
| | | |||||
| * | Add `@(link_section=<string>)` for global variables | gingerBill | 2021-05-24 | 1 | -0/+3 |
| | | |||||
| * | Handle #c_vararg correctly | gingerBill | 2021-05-24 | 1 | -0/+6 |
| | | |||||
| * | Modify ABI for the Odin calling conventions on SysV slightly | gingerBill | 2021-05-22 | 1 | -6/+5 |
| | | |||||
| * | Fix `..=` logic in the backend | gingerBill | 2021-05-21 | 1 | -6/+6 |
| | | |||||
| * | Add range-based error messages to `-verbose-errors` | gingerBill | 2021-05-19 | 1 | -2/+2 |
| | | | | | | | | | Example: Cannot convert '(1 + 2)' to 'untyped bool' from 'untyped integer' x := (1 + 2) * true; ^~~~~~^ | ||||
| * | Remove @(static) for global variables | gingerBill | 2021-05-19 | 1 | -1/+1 |
| | | |||||
| * | More minor linkage changes | gingerBill | 2021-05-19 | 1 | -22/+15 |
| | | |||||
| * | Minor change to internal linkage stuff | gingerBill | 2021-05-19 | 1 | -9/+27 |
| | | |||||
| * | Add `intrinsics.mem_copy` and `intrinsics.mem_copy_non_overlapping` | gingerBill | 2021-05-19 | 1 | -0/+38 |
| | | |||||
| * | Add `intrinsics.sqrt` for floating-point values | gingerBill | 2021-05-19 | 1 | -0/+22 |
| | | |||||
| * | Improve untyped to typed logic for aiding the backend | gingerBill | 2021-05-16 | 1 | -7/+53 |
| | | |||||
| * | Add concrete type information for untyped values as procedure arguments | gingerBill | 2021-05-16 | 1 | -0/+1 |
| | | |||||
| * | Allow `..=` alongside `..` as a "full range" operator; Update ↵ | gingerBill | 2021-05-16 | 1 | -2/+4 |
| | | | | | `core:odin/parser` etc | ||||
| * | Add custom basic dead instruction elimination pass | gingerBill | 2021-05-15 | 1 | -13/+15 |
| | | |||||
| * | Remove old dead code | gingerBill | 2021-05-15 | 1 | -51/+0 |
| | | |||||
| * | Add name to aggregate result pointer to procedures | gingerBill | 2021-05-15 | 1 | -1/+5 |
| | | |||||
| * | Change `for i in x..y {}` behaviour | gingerBill | 2021-05-15 | 1 | -107/+89 |
| | | | | | | Adds an extra check before incrementation to prevent the possibility of overflowing of `y` is at the limit maximum size of the integer e.g. `for i in u8(0)..255 {}` (assuming `255` is not known at compile time) | ||||
| * | Disallow slicing of constant values | gingerBill | 2021-05-15 | 1 | -1/+18 |
| | | |||||
| * | Add minor ignoring hint on type assertions to get better code generation ↵ | gingerBill | 2021-05-13 | 1 | -2/+53 |
| | | | | | with no optimizations enabled | ||||
| * | Fix #741 | gingerBill | 2021-05-13 | 1 | -2/+3 |
| | | |||||
| * | Fix #948 | gingerBill | 2021-05-12 | 1 | -27/+7 |
| | | |||||
| * | Add `byval` with `align`, `sret` attributes for SysV | gingerBill | 2021-05-11 | 1 | -3/+24 |
| | | |||||
| * | Remove warning on \*nix | gingerBill | 2021-05-11 | 1 | -4/+3 |
| | | |||||
| * | Minor change (in preparation for something else) to opt passes | gingerBill | 2021-05-11 | 1 | -8/+8 |
| | | |||||
| * | Fix debug information for array types by setting the `DISubrange` | gingerBill | 2021-05-10 | 1 | -4/+20 |
| | | |||||
| * | Correct SysV ABI for `-> (f32, bool)` | gingerBill | 2021-05-10 | 1 | -6/+21 |
| | | |||||
| * | Improve type inference rules for implicit selector expressions | gingerBill | 2021-05-06 | 1 | -21/+29 |
| | | | | | | | New improvements: `(.A == x)` `a_union_containing_many_enums = .A;` | ||||
| * | Remove debug code | gingerBill | 2021-05-05 | 1 | -3/+0 |
| | | |||||
| * | Fix typo | gingerBill | 2021-05-05 | 1 | -2/+8 |
| | | |||||
| * | Fix LLVM store point for nested types containing procedures (e.g. `^^proc()`) | gingerBill | 2021-05-05 | 1 | -1/+33 |
| | | |||||
| * | Unify `AstTernaryExpr` with `AstTernaryIfExpr` | gingerBill | 2021-05-05 | 1 | -41/+0 |
| | | | | | | Allow for both syntaxes `x if cond else y` and `cond ? x : y` Removes the confusing semantics behind `?:` which could be `if` or `when` depending on the context. | ||||
| * | Mark external thread local globals | gingerBill | 2021-05-05 | 1 | -0/+19 |
| | | |||||
| * | Minor cleanup | gingerBill | 2021-05-05 | 1 | -2/+5 |
| | | |||||
| * | Move anonymous proc generation into `lbGenerator` | gingerBill | 2021-05-04 | 1 | -7/+7 |
| | | |||||
| * | Nearly approach full functionality for -use-separate-modules coupled with ↵ | gingerBill | 2021-05-04 | 1 | -88/+129 |
| | | | | | multithreading | ||||