aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Enforce pointer castgingerBill2022-11-131-2/+2
|
* Simplify the handling of the hashing calls for `map`sgingerBill2022-11-131-13/+1
|
* Add `noinline` LLVM attribute to static map proceduresgingerBill2022-11-111-0/+6
|
* Add internal linkage to static map callsgingerBill2022-11-111-1/+2
|
* Begin work on map static setgingerBill2022-11-111-11/+151
|
* Make `__dynamic_map_set` take the `hash` rather than compute it internallygingerBill2022-11-111-5/+7
|
* Make `map` get internal calls take the hash value rather than compute it ↵gingerBill2022-11-111-12/+14
| | | | internally
* Add minor optimization for `lb_map_cell_index_static`gingerBill2022-11-111-3/+0
|
* Force inline of hasher proc where possiblegingerBill2022-11-111-8/+31
|
* Correct static map get; make get take a pointer to simplify compiler internalsgingerBill2022-11-101-26/+32
|
* Change map internal calls to use a pointergingerBill2022-11-091-4/+4
|
* Allow for `-use-static-map-calls` which generates a get procedure per `map`; ↵gingerBill2022-11-081-11/+161
| | | | add `runtime.map_get`
* Change `__dynamic_map_get` signaturegingerBill2022-11-081-10/+9
|
* Add `intrinsics.map_cell_info` and `intrinsics.map_info`gingerBill2022-11-081-5/+5
|
* Make `Map_Info` store pointers to cell info rather than inlinegingerBill2022-11-081-1/+13
|
* General modificationsgingerBill2022-11-081-18/+1
|
* Basic fmt printing for `map`gingerBill2022-11-071-8/+6
|
* Begin work on implementing the new `map` internalsgingerBill2022-11-071-47/+63
|
* Add debug symbols for global constants of integers, bools, enums, runes, & ↵gingerBill2022-11-021-0/+27
| | | | | | pointers. Variables are namespaced with `pkg::name` or `name` if built-in or the initial package for convenience.
* Optimize `#caller_location` and `#location` to use read only data section ↵gingerBill2022-10-311-2/+2
| | | | where possible
* Clean up private internal constant global handlinggingerBill2022-09-221-5/+1
|
* Correct parapoly determination of generated internal type of a `map`gingerBill2022-09-221-1/+0
|
* Remove more dead code for map header stuffgingerBill2022-09-211-34/+8
|
* Remove header cache codegingerBill2022-09-211-25/+0
|
* Remove debug codegingerBill2022-09-211-4/+0
|
* Reduce unnecessary map getsgingerBill2022-09-211-12/+63
|
* Split header table data and the map pointergingerBill2022-09-211-19/+34
|
* Temporary patch for `lb_gen_map_header`gingerBill2022-09-211-39/+53
|
* Use a cache when generating the map header to minimize stack wastagegingerBill2022-09-171-37/+47
|
* Change `__dynamic_map_get` and `__dynamic_map_set` to use separate ↵gingerBill2022-09-171-14/+11
| | | | parameters rather than take a singular struct
* Enforce constant pointer cast on global procedure variable initialization `x ↵gingerBill2022-09-171-0/+3
| | | | := proc() {}`
* Revert "Just get the value directly and store it in another global variable"gingerBill2022-09-141-22/+3
| | | | This reverts commit 190c3ab0cdc031e45d450e64715452fb2e576d1e.
* Just get the value directly and store it in another global variablegingerBill2022-09-141-3/+22
| | | | | // global x := &Foo{}
* Add inline debug generation for assembly target flag (#2028)gingerBill2022-09-071-1/+1
|
* Fix #1999Jeroen van Rijn2022-09-031-0/+1
| | | | Tested on Windows and Linux.
* Revert "Remove debug message"gingerBill2022-08-161-10/+2
| | | | | | | | | | | | 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.
* Remove debug messagegingerBill2022-08-121-4/+0
|
* Correct global constant procedure initializationgingerBill2022-08-121-0/+12
|
* Clean up how procedures are typed in LLVM's dumb type systemgingerBill2022-08-121-2/+2
|
* Eliminate use of LLVMGetElementType for pointersgingerBill2022-08-091-2/+2
|
* Removed use of deprecated functions. Cleaned up most deprecated use of ↵Christoffer Lerno2022-08-071-6/+5
| | | | LLVMGetElementType.
* `@(require_target_feature=<string>)` `@(enable_target_feature=<string>)`gingerBill2022-05-301-2/+2
| | | | | require_target_feature - required by the target micro-architecture enable_target_feature - will be enabled for the specified procedure only
* Add `@(priority_index=<int>)` for `foreign import`gingerBill2022-05-041-0/+7
|
* Make the link order of foreign imports deterministicgingerBill2022-05-041-18/+37
|
* Compiler: Add early error for output path being a directory.Jeroen van Rijn2022-04-241-2/+12
| | | | | | | | | | | | - Introduce new `Path` type and an array of build paths on the build context. - Resolve input and output paths/files early (before parsing). - Error early if inputs are missing or outputs are directories. - Plumb new file path generation into linker stage instead of its adhoc method. TODO: - Remove more adhoc file path generation in parser and linker stage. - Make intermediate object file generation use new path system. - Round out and robustify Path helper functions.
* Merge pull request #1505 from jasonKercher/fix_odin_testgingerBill2022-03-141-3/+7
|\ | | | | fix `odin test`
| * Merge remote-tracking branch 'upstream/master' into fix_odin_testJason Kercher2022-03-091-0/+5
| |\
| * | improve entry point check logicCiD-2022-02-171-3/+2
| | |
| * | fix odin testCiD-2022-02-161-0/+5
| | |
* | | Merge branch 'master' into freestanding_amd64gingerBill2022-03-141-0/+4
|\ \ \ | | |/ | |/|