aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Add intrinsics.type_equal_proc; Make `map` use an internal equal procedure ↵gingerBill2020-11-291-31/+48
| | | | to compare keys
* Fix for in enum typegingerBill2020-11-261-1/+1
|
* Enforce zeroing through memset to ensure padding is zeroed with llvm apigingerBill2020-11-251-2/+20
|
* Update package json for new map layout; Correct llvm-api includes for *nixgingerBill2020-11-251-0/+4
|
* Prepare for M1 MacgingerBill2020-11-241-2/+2
|
* Make hash internal key be `uintptr` rather than `u64` to reduce entry sizegingerBill2020-11-231-2/+4
|
* Change internal layout of `map[K]V`gingerBill2020-11-231-22/+17
|
* map type internal reorganizationgingerBill2020-11-231-1/+1
|
* Add `equal` procedure field to `runtime.Type_Info_Struct`gingerBill2020-11-231-5/+9
|
* Add `flags: Type_Info_Flags,` to `runtime.Type_Info`gingerBill2020-11-231-2/+8
|
* Add comparisons to structs where all fields are comparable `==` and `!=`gingerBill2020-11-231-0/+98
|
* Modify llvm_abi.cpp to work correctly for win64 abi of `i128` types. (it's a ↵gingerBill2020-11-221-137/+156
| | | | pain)
* Support string literals for fixed arrays of runes; Add %q support for ↵gingerBill2020-11-201-0/+26
| | | | arrays/slices of bytes
* Allow string literals for `[N]byte`gingerBill2020-11-201-1/+9
|
* Begin rudimentary work on implementing `odin test` tooling with ↵gingerBill2020-11-171-4/+14
| | | | `*_test.odin` files
* Minimize memory usage for AST nodes by using Slice<T> rather than Array<T> ↵gingerBill2020-11-161-2/+2
| | | | when the parameter doesn't need to grow
* Fix calling convention for new LLVM ABI, and change`PtrSet` index to be ↵gingerBill2020-11-151-11/+16
| | | | `u32` rather than `isize`
* Implement custom temporary allocator using ring buffergingerBill2020-11-151-24/+0
|
* Add SCOPED_TEMPORARY_BLOCK for temporary allocations within a blockgingerBill2020-11-151-4/+24
|
* Make `set_procedure_abi_types` use the permanent_allocatorgingerBill2020-11-151-8/+8
|
* Begin clarifying allocation patterns by changing from `heap_allocator` to ↵gingerBill2020-11-151-165/+114
| | | | specific arenas
* Improve lb_abi_to_odin_typegingerBill2020-11-141-0/+4
|
* Improve USE_NEW_LLVM_ABI_SYSTEM's System V ABIgingerBill2020-11-121-35/+125
|
* Update LLVM backend to begin work on a generic ABI systemgingerBill2020-11-121-161/+532
|
* Fix `typeid_of` buggingerBill2020-11-101-18/+12
|
* Fix LLVM-API type cycle for procedures of named proceduresgingerBill2020-11-091-1/+2
|
* Inline asm expression (-llvm-api)gingerBill2020-10-241-0/+37
| | | | | | | | | | | | See https://llvm.org/docs/LangRef.html#inline-assembler-expressions Example: ``` x := asm(i32) -> i32 { "bswap $0", "=r,r", }(123); ``` Allowed directives `#side_effect`, `#align_stack`, `#att`, `#intel` e.g. `asm() #side_effect #intel {...}`
* Add intrinsics.cpu_relax for llvm-apigingerBill2020-10-241-2/+11
|
* Improve multiple return value copy-elisiongingerBill2020-10-201-23/+68
|
* Improve array programming code generationgingerBill2020-10-201-7/+15
|
* Specific set the code gen level for -llvm-apigingerBill2020-10-201-1/+9
|
* Add `-build-mode:assembly` for `-llvm-api`gingerBill2020-10-201-14/+22
|
* Add `-microarch:<string>` (e.g. `-microarch:native`)gingerBill2020-10-201-1/+16
|
* Fix and clean up default procedure parameter code for non-constant typesgingerBill2020-09-221-58/+38
|
* Expose `runtime._startup_runtime` to allow for freestanding targets in the ↵gingerBill2020-09-151-31/+3
| | | | future
* Add edge case check for "" stringgingerBill2020-09-111-0/+3
|
* Simplify "" string codegingerBill2020-09-111-12/+11
|
* Fix `delete("")` on `-llvm-api`; Fix linalg stuffgingerBill2020-09-111-0/+11
|
* [REFLECTION BREAKING] Modify the internals of the `map` type to increase ↵gingerBill2020-09-071-40/+32
| | | | performance
* Fix `defer` on explicit `return` of a procedure with no return values for ↵gingerBill2020-08-271-0/+7
| | | | llvm-api
* Fix #642gingerBill2020-08-261-1/+31
|
* Fix #708gingerBill2020-08-051-1/+13
|
* Add `intrinsics.alloca`gingerBill2020-08-021-0/+13
|
* Fix #691 and Fix #692gingerBill2020-07-141-7/+17
|
* Remove some dead codegingerBill2020-07-141-0/+8
|
* Fix Source_Code_Location error for *_insert_dynamic_map_key_and_value proceduresgingerBill2020-07-081-4/+8
|
* Handle `llvm` package name edge case for IR manglinggingerBill2020-06-301-1/+3
|
* Add `-show-system-calls`; Update runtime for windows_386; Fix some minor bugsgingerBill2020-06-301-1/+9
|
* Begin work on windows 386gingerBill2020-06-291-5/+15
|
* Fix ABI typo bug; Add `pop_safe` and `pop_front_safe`gingerBill2020-06-221-4/+4
|