aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
|
* Fix LLVM code gen buggingerBill2020-06-221-8/+19
|
* Fix enumerated array type information creation buggingerBill2020-06-171-4/+4
|
* Add `deferred_in_out` attributegingerBill2020-06-161-0/+8
|
* Fix `@static` slice for LLVM C API backendgingerBill2020-06-151-16/+20
|
* Fix compound literals for constant procedure fieldsgingerBill2020-06-111-22/+29
|
* Remove debug codegingerBill2020-06-101-4/+0
|
* Fix `#c_vararg` for LLVM C APIgingerBill2020-06-101-0/+8
|
* Improve behaviour of `return` with named results to aid with `defer` statementsgingerBill2020-06-101-1/+26
|
* Fix #674gingerBill2020-06-101-2/+4
|
* Stop statement generation after terminating instruction in current block ↵gingerBill2020-06-101-0/+25
| | | | (LLVM C API)
* Minor changes for \*nix backendgingerBill2020-06-101-1/+1
|
* Basic cross compilation supportgingerBill2020-06-101-21/+43
|
* Update logic for slice literals, backing array to be on the stack if ↵gingerBill2020-06-081-40/+103
| | | | possible (LLVM C API)
* Improve termination rules checking for missing `return`; Make diverging ↵gingerBill2020-06-061-0/+4
| | | | procedure `-> !` be terminators
* Fix different endian integers for LLVM C API backendgingerBill2020-06-051-3/+22
|
* Fix WASM foreign import namesgingerBill2020-06-041-4/+5
|
* Fix calling convention stuff with LLVM C APIgingerBill2020-06-031-3/+7
|
* Change runtime.Type_Info_Enum_Value to be `i64` internally rather than a `union`gingerBill2020-06-031-20/+19
|
* Add `wasm-ld` support for wasm code generationgingerBill2020-06-031-5/+19
|
* Improve rules for shifting behaviourgingerBill2020-05-311-8/+30
| | | | | | | | | Example: x: u64 = 123; assert(x >> 64 == 0); // In C this would be 123 because (64 & 0b111111) == 0 a: u64 123; assert(a << 64 == 0); // In C this would be 123 because (64 & 0b111111) == 0
* Fix rules for recursive initialization with procedure entities; Fix ↵gingerBill2020-05-301-0/+8
| | | | executable name if not given
* Minor tokenizer performance improvementsgingerBill2020-05-271-1/+8
|
* Begin work on supporting wasm32 architecturegingerBill2020-05-251-3/+27
|
* Fix #656gingerBill2020-05-241-50/+16
|
* Fix SelectorCallExpr with no return valuesgingerBill2020-05-221-1/+8
|