aboutsummaryrefslogtreecommitdiff
path: root/src/ir.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Move out some intrinsics into separate procedures in llvm_backend.cpp; ↵gingerBill2021-04-241-2/+2
| | | | Rename `InlineRangeStmt` to `UnrollRangeStmt` (eventually merge the two AST nodes)
* Improve `auto_cast` logicgingerBill2021-04-221-1/+2
|
* Remove `intrinsics.x86_mmx` typegingerBill2021-04-221-7/+3
|
* Fix proc literal bug not finding the associated `DeclInfo`gingerBill2021-04-091-1/+7
|
* Implement `f16` functionalitygingerBill2021-04-011-11/+28
|
* Change `>>` behaviour in LLVM to prevent stupid UBgingerBill2021-03-301-4/+3
|
* Fix shifting limits and LLVM code gen bug relating to shiftsgingerBill2021-03-291-6/+7
|
* Issue #823 - Change semantics of `disabled` attribute to not evaluate any of ↵gingerBill2021-03-271-0/+7
| | | | the parameters at run time
* Make the parser support as many identifiers on the LHS in `for in` loops to ↵gingerBill2021-03-241-10/+10
| | | | improve error messages
* For `bit_set`, allow `+` and `-` to be aliases for `|` and `&~`, respectivelygingerBill2021-03-231-0/+9
|
* Add `pkg` field to `testing.Internal_Test`gingerBill2021-03-141-2/+9
|
* `odin test` to work with the new `core:testing` packagegingerBill2021-03-141-3/+30
|
* Add `intrinsics.volatile_store` and `intrinsics.volatile_load`gingerBill2021-03-091-3/+16
|
* Fix `context` bug with `deferred_*` attributes which caused a new `context` ↵gingerBill2021-03-061-6/+5
| | | | to be created every time
* Minimize the size of `runtime.Source_Code_Location` to use `i32` instead of ↵gingerBill2021-03-051-16/+16
| | | | `int`
* Minimize TokenPos size by using `i32` for line/column/offset and file_id ↵gingerBill2021-03-041-20/+19
| | | | | | instead of `String` To make `i32` safe, the parser limits the file size of odin files to a maximum of 2GiB (which will be good enough for the vast vast majority of cases)
* Clean up logic for `<<` and `>>` behaviourgingerBill2021-03-021-4/+4
|
* Fix Addressing for SOA on store; Add intrinsics.type_struct_field_count(T)gingerBill2021-03-011-6/+23
|
* Add message to assert in `ir_build_expr_internal`gingerBill2021-02-261-3/+3
|
* Remove `#opaque` typesgingerBill2021-02-231-17/+0
|
* Deprecate `inline for` in favour of `#unroll for`gingerBill2021-02-231-1/+1
|
* Remove `bit_field` type from Odin (keyword and dead runtime code still exists)gingerBill2021-02-191-304/+26
|
* Fix for `c_vararg` issueJim Powers2021-01-181-0/+6
| | | | Fixes #817
* Fix ir_print.cpp for typeid constantsgingerBill2020-12-171-2/+10
|
* If `ir_type_requires_mem_zero` is stored with zero, don't store again with ↵gingerBill2020-12-081-78/+114
| | | | the `zeroinitializer`
* Fix typogingerBill2020-12-081-1/+1
|
* Improve rules for zeroing types with the ir.cpp backend with ↵gingerBill2020-12-081-2/+64
| | | | `ir_type_requires_mem_zero`
* Add package name and source code location to `Type_Info_Named`gingerBill2020-12-051-0/+15
|
* Remove `hash` field in runtime.Source_Code_LocationgingerBill2020-12-051-13/+0
|
* Remove type name generation for procedures in ir.cppgingerBill2020-12-051-0/+3
|
* Make 16 simple hasher cases for small typesgingerBill2020-11-291-25/+17
|
* Simplify simple compare hasher codegingerBill2020-11-291-88/+74
|
* Support any comparable type for map keysgingerBill2020-11-291-9/+87
|
* Support map keys for simple compare typesgingerBill2020-11-291-2/+8
|
* Improve const hashgingerBill2020-11-291-6/+31
|
* Simplify hashing approach `map`gingerBill2020-11-291-34/+16
|
* Add `intrinsics.type_hasher_proc`; Make `map` work with generic hasher proceduregingerBill2020-11-291-5/+91
|
* Add intrinsics.type_equal_proc; Make `map` use an internal equal procedure ↵gingerBill2020-11-291-34/+50
| | | | to compare keys
* Fix for in enum typegingerBill2020-11-261-1/+1
|
* Make hash internal key be `uintptr` rather than `u64` to reduce entry sizegingerBill2020-11-231-1/+4
|
* Change internal layout of `map[K]V`gingerBill2020-11-231-24/+20
|
* map type internal reorganizationgingerBill2020-11-231-1/+1
|
* Add `equal` procedure field to `runtime.Type_Info_Struct`gingerBill2020-11-231-3/+8
|
* Add `flags: Type_Info_Flags,` to `runtime.Type_Info`gingerBill2020-11-231-2/+7
|
* Add comparisons to structs where all fields are comparable `==` and `!=`gingerBill2020-11-231-1/+114
|
* Support string literals for fixed arrays of runes; Add %q support for ↵gingerBill2020-11-201-3/+5
| | | | arrays/slices of bytes
* Allow string literals for `[N]byte`gingerBill2020-11-201-1/+3
|
* Begin rudimentary work on implementing `odin test` tooling with ↵gingerBill2020-11-171-3/+10
| | | | `*_test.odin` files
* Minimize memory usage for AST nodes by using Slice<T> rather than Array<T> ↵gingerBill2020-11-161-3/+3
| | | | when the parameter doesn't need to grow
* Add SCOPED_TEMPORARY_BLOCK for temporary allocations within a blockgingerBill2020-11-151-17/+14
|