aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
|\ \ \ | | |/ | |/|
| * | openbsd: defaults to PIE executableSébastien Marie2022-02-281-0/+5
| |/ | | | | | | | | | | OpenBSD uses PIE code by default to allow the system to load the binary at a random location. don't pass -no-pie to preserve this behaviour, and build objects with -fPIC (LLVMRelocPIC).
* | `-target-features:<string>`gingerBill2022-02-281-0/+4
| | | | | | | | This just passes a string directly to the LLVM features string
* | Add extra checks for -disallow-rttigingerBill2022-02-281-2/+7
| |
* | Commit rest of code for `-disallow-rtti`gingerBill2022-02-281-1/+5
| |
* | Change target name to `freestanding_amd64_sysv`gingerBill2022-02-231-2/+2
| |
* | Add help docs for `-reloc-mode:<string>`gingerBill2022-02-231-0/+2
| |
* | Add `-reloc-mode:<string>`gingerBill2022-02-201-0/+14
| |
* | Add `freestanding_amd64_gnu`gingerBill2022-02-201-0/+13
|/
* Add new objc intrinsics: objc_(register|find)_(selector|class)gingerBill2022-02-141-2/+3
|
* Begin work on support objc intrinsicsgingerBill2022-02-081-2/+57
|
* Remove `main` creation in llvm_backend.cpp and have it done purely in the ↵gingerBill2022-01-151-6/+1
| | | | runtime package (partial bootstrapping)
* Rename architecture `386` to `i386`gingerBill2022-01-151-2/+2
|
* Correct `_start` as an entry pointgingerBill2022-01-151-7/+10
|
* Correct linkage for entry point procedures on WindowsgingerBill2022-01-121-12/+11
|
* Correct look for entry point in llvm backend (Windows only currently)gingerBill2022-01-121-14/+5
|
* Begin work to move entry point code to Odin itself rather than in C++ sidegingerBill2022-01-121-5/+10
|
* shared library fixesDale Weiler2022-01-101-1/+7
|
* Begin minimizing `Ast` sizegingerBill2021-11-141-3/+3
|
* Improve support for `freestanding_wasm32`gingerBill2021-11-071-0/+1
|
* Remove many LLVM optimization passes which were causes UB due to them ↵gingerBill2021-11-061-1/+2
| | | | assuming C-like behaviour incompatible with Odin
* Make llvm backend code use `PtrMap`; remove dead codegingerBill2021-11-051-9/+6
|
* `@(linkage=<string>)` for procedures and variables; `@(require)` for ↵gingerBill2021-11-041-1/+3
| | | | procedures; `package runtime` linkage improvements; Subsequence improvements to `lb_run_remove_unused_function_pass`
* Add `ODIN_NO_CRT` global constantgingerBill2021-11-041-1/+1
|
* Improve `wasm-import` semantics to allow procedures from different import pathsgingerBill2021-11-021-8/+4
|
* Correct `_start` export for wasm* targetsgingerBill2021-10-311-0/+5
|
* Disable `wasm64`gingerBill2021-10-311-3/+3
|
* Add `memmove` and `memset` support for `wasm`gingerBill2021-10-311-3/+9
|
* Add `wasi_wasm32`gingerBill2021-10-311-0/+10
|
* Compile `wasm64`; Add `lb_run_remove_unused_function_pass`gingerBill2021-10-311-5/+11
|
* Begin work on supporting `wasm64`; Correct `wasm32` compilation behaviourgingerBill2021-10-301-0/+1
|
* Add `ODIN_LLVM_MINIMUM_VERSION_12`gingerBill2021-10-251-7/+3
|
* Basic support for matrix*vector, vector*matrix operationsgingerBill2021-10-191-8/+49
|
* Add `runtime._cleanup_runtime` internal callgingerBill2021-10-181-1/+4
|
* Simplify `TIME_SECTION` codegingerBill2021-10-121-7/+0
|
* Correct issue with the generated `map` type internals; Simplify map rehash ↵gingerBill2021-10-071-3/+7
| | | | logic to utilize `resize`