aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
|
* Selector Call Expressions: `x->y(123) == x.y(x, 123)`gingerBill2020-05-221-0/+7
|
* Fix edge cases of relative pointersgingerBill2020-05-171-1/+27
|
* LLVM C backend: Obey directives on blocks, procedures, and expressionsTetralux2020-05-161-1/+59
| | | | e.g: #no_bounds_check / #bounds_check
* Add bounds checks to LLVM C backendTetralux2020-05-161-8/+58
|
* Relative pointer and relative slicesgingerBill2020-05-151-43/+118
|
* Relative pointers in old backendgingerBill2020-05-151-1/+1
|
* Relative pointersgingerBill2020-05-151-21/+152
|
* Fix #622 on both backendsgingerBill2020-05-131-0/+5
|
* Fix procedure literal declarations at file scope with `-llvm-api`gingerBill2020-05-131-45/+49
|
* Replace `entity_of_ident` with `entity_of_node`gingerBill2020-05-121-14/+14
|
* Fix bug for array-like compounds for LLVM-APIgingerBill2020-05-121-13/+1
|
* Add experimental atom op tables for llvm-backendgingerBill2020-05-021-2/+128
|
* LLVM API: Fix compound literals with constant parameters to `union` fieldsgingerBill2020-04-251-8/+12
|
* `#optional_ok` tag for proceduresgingerBill2020-04-191-1/+7
|
* Change `find_or_generator_context_ptr` behavioursgingerBill2020-04-171-5/+2
|
* Fix LLVM API backend for procedure "constant" valuesgingerBill2020-04-171-24/+23
|
* Fix name mangling for `@(private)` entitiesgingerBill2020-04-151-0/+2
|
* Basic polymorphic named procedure parameters for procedures and recordsgingerBill2020-04-131-4/+34
|
* Simplify compiler's `Map` and create a `StringMap` specifically for stringsgingerBill2020-04-131-20/+18
|
* Add `-build-mode=obj`gingerBill2020-04-131-1/+1
|
* Change behaviour for zero-sized value types of array-related types; Fix make ↵gingerBill2020-04-121-50/+26
| | | | behaviour to always zero memory
* Support endian specific float on -llvm-api; fix unary `-` for endian floatsgingerBill2020-04-111-13/+115
|
* Add `runtime.bswap_*` required for -llvm-apigingerBill2020-04-111-24/+43
|
* Begin to make the -llvm-api more generalgingerBill2020-04-101-2/+2
|
* Fix `defer` after return for -llvm-apigingerBill2020-04-061-1/+6
|
* Fix -llvm-api for `typeid` comparison with a Type itselfgingerBill2020-04-061-3/+12
|
* Fix selector expressions for `map[unknown-key]` expressions for `-llvm-api`gingerBill2020-04-041-12/+530
|
* Fix #599 - llvm-api GEP for structs with custom alignmentgingerBill2020-03-281-12/+22
|
* LLVM API fixes: for in ^map; complex/quaternion negationgingerBill2020-03-281-5/+25
|
* Allow ability to reference compound literals like C99 for -llvm-apigingerBill2020-03-261-1/+18
|
* Allow map indices to be referenced `&m[key]` and return a valid pointer if ↵gingerBill2020-03-241-1/+13
| | | | it exists otherwise `nil`
* Support by-reference semantics in `for value_ref, i in &some_array` and `for ↵gingerBill2020-03-241-9/+24
| | | | key, value_ref in &some_map`