aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix -llvm-api const initialization of `&T{}`gingerBill2020-12-021-0/+2
|
* Disable `lb_const_hash` for the time beinggingerBill2020-12-021-5/+31
|
* Fix typogingerBill2020-12-011-1/+1
|
* Fix Pointer store in LLVM backendgingerBill2020-12-011-2/+2
|
* Revert function passesgingerBill2020-11-291-51/+95
|
* Improve default pass manager for -llvm-apigingerBill2020-11-291-57/+25
|
* Make 16 simple hasher cases for small typesgingerBill2020-11-291-9/+5
|
* Simplify simple compare hasher codegingerBill2020-11-291-98/+76
|
* Support any comparable type for map keysgingerBill2020-11-291-9/+89
|
* Support map keys for simple compare typesgingerBill2020-11-291-2/+8
|
* Improve const hashgingerBill2020-11-291-10/+36
|
* Simplify hashing approach `map`gingerBill2020-11-291-29/+15
|
* Add `intrinsics.type_hasher_proc`; Make `map` work with generic hasher proceduregingerBill2020-11-291-53/+131
|
* 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
|