aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_general.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix LLVM type cycle nonsense with procedure typesgingerBill2022-11-231-1/+9
|
* Fix #2202gingerBill2022-11-211-0/+3
|
* Revert "Minor improvement to multi return value reducing stack usage"gingerBill2022-11-131-14/+10
|
* Minor improvement to multi return value reducing stack usagegingerBill2022-11-131-10/+14
|
* Begin work on map static setgingerBill2022-11-111-1/+2
|
* Change map internal calls to use a pointergingerBill2022-11-091-2/+2
|
* Allow for `-use-static-map-calls` which generates a get procedure per `map`; ↵gingerBill2022-11-081-0/+1
| | | | add `runtime.map_get`
* Change `__dynamic_map_get` signaturegingerBill2022-11-081-2/+2
|
* Make `Map_Info` store pointers to cell info rather than inlinegingerBill2022-11-081-0/+1
|
* Remove the need for `type->Map.internal_type` and replace with the ↵gingerBill2022-11-081-18/+2
| | | | definition of `runtime.Raw_Map`
* Begin work on implementing the new `map` internalsgingerBill2022-11-071-19/+5
|
* Fix #2167 `context.assertion_failure_proc = nil` (context field assignments)gingerBill2022-11-011-8/+19
|
* Use direct parameter value in `lb_find_ident` when possiblegingerBill2022-10-301-0/+9
|
* Remove extra pointer indirectiongingerBill2022-09-271-2/+2
|
* Override lbArgKind to be indirect for `#by_ptr` parametersgingerBill2022-09-271-0/+11
|
* Clean up private internal constant global handlinggingerBill2022-09-221-16/+18
|
* Reduce unnecessary map getsgingerBill2022-09-211-16/+4
|
* Change `__dynamic_map_get` and `__dynamic_map_set` to use separate ↵gingerBill2022-09-171-21/+20
| | | | parameters rather than take a singular struct
* Revert "Just get the value directly and store it in another global variable"gingerBill2022-09-141-10/+5
| | | | This reverts commit 190c3ab0cdc031e45d450e64715452fb2e576d1e.
* Just get the value directly and store it in another global variablegingerBill2022-09-141-5/+10
| | | | | // global x := &Foo{}
* Fix #2029 Eumerated array of procs literal crashes the compiler with an llvm ↵gingerBill2022-09-071-22/+7
| | | | error
* Correct max alignment handling throughout the llvm backendgingerBill2022-08-241-1/+4
|
* Revert "Remove debug message"gingerBill2022-08-161-6/+48
| | | | | | | | | | | | This reverts commit 22d16c20f8e446fb51d7faa14f22b9f86df8b393. Revert "Correct global constant procedure initialization" This reverts commit 697c839c84b36b4e0c12ac9ea264e28f564ef5d5. Revert "Clean up how procedures are typed in LLVM's dumb type system" This reverts commit de8bd88d2a6f0e99af6fe76442bcccd159724872.
* Merge pull request #1944 from odin-lang/load-improvementsgingerBill2022-08-151-0/+48
|\ | | | | Improvements to `#load`
| * `#load(path, type)`gingerBill2022-08-111-0/+48
| | | | | | | | where `type` can be `string` or `[]T` where `T` is a simple type
* | Correct global constant procedure initializationgingerBill2022-08-121-7/+0
| |
* | Clean up how procedures are typed in LLVM's dumb type systemgingerBill2022-08-121-41/+6
| |
* | Improve compound literal generation for array-like typesgingerBill2022-08-111-1/+2
| |
* | Improve emit store for large constantsgingerBill2022-08-111-10/+36
|/
* General clean up of LLVM*GEP2 codegingerBill2022-08-101-0/+39
|
* Wrap all `LLVMGetElementType` usesgingerBill2022-08-091-0/+11
|
* Remove other uses of LLVMGetElementType on pointer typesgingerBill2022-08-091-4/+8
|
* Minor change to `lb_emit_store` for storing nil to procedure variablesgingerBill2022-08-091-1/+3
|
* Eliminate use of LLVMGetElementType for pointersgingerBill2022-08-091-97/+113
|
* Merge pull request #1933 from lerno/reduce_reliance_on_ptr_typegingerBill2022-08-091-17/+16
|\ | | | | Removed use of deprecated functions. Cleaned up most deprecated use o…
| * Removed use of deprecated functions. Cleaned up most deprecated use of ↵Christoffer Lerno2022-08-071-17/+16
| | | | | | | | LLVMGetElementType.
* | Add `#soa` pointer type to aid with refactoring to `#soa` data typesgingerBill2022-08-081-0/+15
|/ | | | | | | | a: #soa[16]Foo p := &a[6] #assert(type_of(p) == #soa^#soa[16]Foo) p^.x = 123 p.x = 123
* Temp fix for `lb_emit_store`gingerBill2022-07-241-1/+1
|
* Force memset instead of store zeroinitializer when the value is largegingerBill2022-07-241-3/+9
|
* Add `#by_ptr` procedure attribute to enforce a parameter to be passed by ↵gingerBill2022-07-241-2/+3
| | | | pointer internally
* Integrate numerous debug fixes from #1877gingerBill2022-07-181-4/+4
|
* Fix #1869gingerBill2022-07-161-0/+7
|
* Change MAX_STORE_SIZEdev-2022-07gingerBill2022-06-301-2/+2
|
* Use `memmove` if possible when emitting store over a certain sizegingerBill2022-06-301-0/+20
|
* Minor style changegingerBill2022-06-121-1/+1
|
* Merge pull request #1395 from hdooley/mastergingerBill2022-06-121-8/+14
|\ | | | | factor out alloca generation into a helper
| * review feedbackHenry Dooley2021-12-281-1/+3
| |
| * cast isize to unsigned int for llvm api, add defaulted name parameter to helper.Henry Dooley2021-12-251-4/+4
| |
| * factor out alloca generation into a helperHenry Dooley2021-12-251-7/+11
| |
* | Make the link order of foreign imports deterministicgingerBill2022-05-041-2/+5
| |