| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Fix Windows LTO: preserve required procedures with llvm.used | Jesse Meyer | 12 days | 1 | -9/+20 |
| | | | | | | | | | | | | | | | | On Windows with LTO, required procedures with external linkage need to be added to @llvm.used to survive linker-level dead code elimination. LLVM may generate implicit calls to runtime builtins (e.g., __extendhfsf2 for f16 conversions) during instruction lowering, after the IR is finalized. Without @llvm.used, the linker discards these procedures before the implicit calls are generated. This adds required procedures to @llvm.used at creation time. The fix is Windows-specific; other platforms handle this correctly. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> | ||||
| * | Remove temporary tuple fix alloca instructions if they are never used | gingerBill | 2025-12-27 | 1 | -1/+9 |
| | | |||||
| * | llvm 21 support | Laytan | 2025-10-14 | 1 | -12/+0 |
| | | |||||
| * | Propagate `@(link_section=<string>)` to nested declarations | gingerBill | 2025-04-08 | 1 | -2/+2 |
| | | |||||
| * | fix instrumentation features on LLVM versions with typed pointers | Laytan Laats | 2024-07-24 | 1 | -1/+1 |
| | | | | | Fixes #3970 | ||||
| * | make instrumentation "work" on wasm | Laytan Laats | 2024-07-11 | 1 | -8/+12 |
| | | | | | | | Using instrumentation on WASM causes it to complain about the llvm.returnaddress instrinsic. This PR could be considered a "hack" but makes this work by just passing `nil` instead of the return address. | ||||
| * | fix instrumentation in debug mode | Laytan | 2024-02-08 | 1 | -4/+15 |
| | | |||||
| * | Update instrumentation signature to support `runtime.Source_Code_Location` ↵ | gingerBill | 2024-01-09 | 1 | -2/+8 |
| | | | | | as last parameter. | ||||
| * | Implement instrumentation pass | gingerBill | 2024-01-07 | 1 | -0/+77 |
| | | |||||
| * | Explicitly write out the passes for each level and remove certain passes | gingerBill | 2023-10-30 | 1 | -2/+5 |
| | | |||||
| * | Begin work on making the type info table be constantly initialized | gingerBill | 2023-09-22 | 1 | -1/+1 |
| | | |||||
| * | Update ABI breaking changes for `f16` types (due to LLVM 15+) | gingerBill | 2023-09-21 | 1 | -10/+0 |
| | | |||||
| * | Add `-o:aggressive` for LLVM 17 | gingerBill | 2023-09-21 | 1 | -2/+1 |
| | | |||||
| * | Check for LLVM versions | gingerBill | 2023-09-19 | 1 | -8/+20 |
| | | |||||
| * | Update to LLVM-17 | gingerBill | 2023-09-19 | 1 | -1/+8 |
| | | |||||
| * | Correct `lb_run_function_pass_manager` behaviour | gingerBill | 2023-08-10 | 1 | -1/+13 |
| | | |||||
| * | Always call `lb_run_remove_dead_instruction_pass` to fix `-debug` issues | gingerBill | 2023-07-07 | 1 | -10/+0 |
| | | |||||
| * | Fix type `switch` debug information on `-o:none` | gingerBill | 2023-05-30 | 1 | -1/+11 |
| | | |||||
| * | Fix value elision on declaration | gingerBill | 2023-03-09 | 1 | -1/+5 |
| | | |||||
| * | Add `-o:none` optimization mode (useful for `-debug` builds) | gingerBill | 2023-03-07 | 1 | -12/+20 |
| | | |||||
| * | Unify function pass managers for auxiliary procedures (e.g. startup type ↵ | gingerBill | 2023-01-05 | 1 | -0/+3 |
| | | | | | info, runtime, objc names) | ||||
| * | Remove dead code in the compiler | gingerBill | 2022-12-18 | 1 | -10/+10 |
| | | |||||
| * | `gb_internal` LLVM backend | gingerBill | 2022-12-18 | 1 | -16/+16 |
| | | |||||
| * | Disallow Early CSE on `-debug` builds | gingerBill | 2022-08-09 | 1 | -1/+3 |
| | | |||||
| * | fix require flag on higher optimization modes | Astavie | 2022-06-15 | 1 | -0/+38 |
| | | |||||
| * | Change how parameter and variables are given debug values | gingerBill | 2022-02-16 | 1 | -1/+1 |
| | | |||||
| * | Add `LLVMAddMergedLoadStoreMotionPass` on `-debug -opt:0` | gingerBill | 2022-01-15 | 1 | -10/+6 |
| | | |||||
| * | Improve debug symbol retention with `-debug -opt:0` | gingerBill | 2021-12-11 | 1 | -15/+11 |
| | | |||||
| * | Improve support for `freestanding_wasm32` | gingerBill | 2021-11-07 | 1 | -4/+64 |
| | | |||||
| * | Remove `LLVMAddDeadStoreEliminationPass` pass | gingerBill | 2021-11-06 | 1 | -3/+3 |
| | | |||||
| * | Remove many LLVM optimization passes which were causes UB due to them ↵ | gingerBill | 2021-11-06 | 1 | -27/+53 |
| | | | | | assuming C-like behaviour incompatible with Odin | ||||
| * | Completely ignore `LLVM_ADD_CONSTANT_VALUE_PASS` LLVM >= 12 | gingerBill | 2021-11-06 | 1 | -12/+3 |
| | | |||||
| * | Make llvm backend code use `PtrMap`; remove dead code | gingerBill | 2021-11-05 | 1 | -1/+1 |
| | | |||||
| * | `@(linkage=<string>)` for procedures and variables; `@(require)` for ↵ | gingerBill | 2021-11-04 | 1 | -21/+11 |
| | | | | | procedures; `package runtime` linkage improvements; Subsequence improvements to `lb_run_remove_unused_function_pass` | ||||
| * | Add procs for wasm32 | gingerBill | 2021-10-31 | 1 | -0/+6 |
| | | |||||
| * | Add `memmove` and `memset` support for `wasm` | gingerBill | 2021-10-31 | 1 | -0/+5 |
| | | |||||
| * | Compile `wasm64`; Add `lb_run_remove_unused_function_pass` | gingerBill | 2021-10-31 | 1 | -0/+49 |
| | | |||||
| * | Fix typo | gingerBill | 2021-09-11 | 1 | -10/+10 |
| | | |||||
| * | Prepare for LLVM 12.0.1 compatibility | gingerBill | 2021-09-11 | 1 | -8/+14 |
| | | |||||
| * | Add missing instruction to pass | gingerBill | 2021-05-15 | 1 | -0/+6 |
| | | |||||
| * | Add missing instructions to pass | gingerBill | 2021-05-15 | 1 | -0/+2 |
| | | |||||
| * | Add custom basic dead instruction elimination pass | gingerBill | 2021-05-15 | 1 | -0/+93 |
| | | |||||
| * | Remove `LLVMAddLowerConstantIntrinsicsPass` | gingerBill | 2021-05-11 | 1 | -1/+1 |
| | | |||||
| * | Remove test call for LLVM | gingerBill | 2021-05-11 | 1 | -1/+1 |
| | | |||||
| * | Minor change (in preparation for something else) to opt passes | gingerBill | 2021-05-11 | 1 | -5/+27 |
| | | |||||
| * | Change function pass manager passes | gingerBill | 2021-04-22 | 1 | -1/+40 |
| | | |||||
| * | Change how `lb_populate_function_pass_manager` works by using the default ↵ | gingerBill | 2021-04-22 | 1 | -11/+31 |
| | | | | | LLVM passes when not using minimal optimizations | ||||
| * | Add `@(cold)` attribute to procedure declarations | gingerBill | 2021-04-14 | 1 | -6/+5 |
| | | |||||
| * | Experiment with different opt passes | gingerBill | 2021-04-01 | 1 | -1/+2 |
| | | |||||
| * | Add extra optimization level pass -opt:2 in `lb_populate_module_pass_manager` | gingerBill | 2021-04-01 | 1 | -9/+8 |
| | | |||||